我的HTML文件中有和之间的所有Google Analytics(分析)代码。这些统计信息已正确处理。
我的onclick事件发生后,将调用下面的函数,我想将事件发送给Google Analytics(分析),但从未收到。我究竟做错了什么?
public static native void googleAnalyticsEvent(String boxId) /*-{
_gaq.push(['_trackEvent', boxId , 'Click']);
}-*/;
仅供参考,如果我将以下代码替换为以下代码,则会正确显示警报:
public static native void googleAnalyticsEvent(String boxId) /*-{
alert(boxId);
}-*/;
最佳答案
尝试:
public static native void googleAnalyticsEvent(String boxId) /*-{
$wnd._gaq.push(['_trackEvent', boxId , 'Click']);
}-*/;
来自https://developers.google.com/web-toolkit/doc/1.6/DevGuideCodingBasics#DevGuideJavaScriptNativeInterface
“请注意,代码未引用JavaScript窗口对象
直接在方法内部。访问浏览器窗口时,
来自JSNI的文档对象,您必须将它们引用为$ wnd和$ doc,
分别。您的编译脚本在嵌套框架中运行,并在$ wnd中运行
和$ doc会自动初始化以正确引用主机
页面的窗口和文档。”