这应该很简单,但我无论尝试什么都无法让它正常工作。我正在尝试在GWT应用程序中使用Google Analytics。根据我所理解的,有两种方法可以实现:
第一种是同步方式,通过在HTML页面的<head>部分末尾插入跟踪代码,然后调用此方法:
public static native void recordAnalyticsHit(String pageName) /*-{
pageTracker._trackPageview(pageName);
}-*/;
其次是异步方式,通过在 <body> 标签后立即插入跟踪代码,然后调用此方法:
public static native void recordAnalyticsHit(String pageName) /*-{
_gaq.push(['_trackPageview(' + pageName + ')']);
}-*/;
然而, 当我运行这些方法时,我在托管模式下得到了这个异常:
[ERROR] [myproject] Uncaught exception escaped
com.google.gwt.core.client.JavaScriptException: (ReferenceError): pageTracker is not defined
[ERROR] [myproject] Uncaught exception escaped
com.google.gwt.core.client.JavaScriptException: (ReferenceError): _gaq is not defined
在使用Firebug观察网站时,我发现ga.js被加载了,但仅此而已。
有人用GWT成功运行过Analytics吗?此外,_gaq是否接受页面名称作为trackPageview参数,因为我看到的所有示例都使用这个调用:
_gaq.push(['_trackPageview()']);
(当然,这对我也不起作用。)