1

我的 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);
}-*/;
4

1 回答 1

3

尝试:

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 会自动初始化以正确引用主机页面的窗口和文档。”

于 2012-05-19T11:49:42.217 回答