在webapp中集成Google Analytics(分析):无法记录用户交互
问题描述:
我已经使用backbone.js创建了一个Web应用程序,我正在尝试将Google Analytics(分析)集成到它中。事情是脚本执行总是停在ga.js内的某个点上。其中停止执行的代码是这样的(美化版)...在webapp中集成Google Analytics(分析):无法记录用户交互
var o = e == "_gat" ? K : e == "_gaq" ? Tc : K.p(e);
o[f].apply(o, b[d][ha](1))
缩小的版本(21号线)
new ActiveXObject(d),e=c.GetVariable("$version")}catch(o){}e&&(e=e[w](" ")[1][w](","),e=e[0]+"."+e[1]+" r"+e[2])}b=e?e:"-"}Pc=b;
我记录这样的事件:
_gaq.push('_trackEvent', '[header] login', 'click');
我看到代码在Firebug脚本选项卡中的上方停止。如果我禁用调试,则不会进行谷歌分析请求。该应用程序工作正常。
这里可能会出现什么问题?有其他人遇到过这样的问题。
UPDATE
好像这个问题是不相关的Backbone.js的。即使是像这样创建了最简单的页面也带来了同样的问题。我检查了Firebug中的Net标签 - __utm.gif
确实加载。 ga.js
也加载成功。但再次按下按钮也会产生相同的中断。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'XX-XXXXXX-XX']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript">
function check() {
alert("hi");
_gaq.push('_trackEvent', 'check');
}
</script>
</head>
<body>
<input type="button" value="abc" onclick="check();"/>
</body>
</html>
答
您正在调用_trackEvent错误。请注意,_trackEvent的前2个参数是必需的,最后2个参数是可选的。也应该在括号内。
检查功能的signature。
你应该联系
_gaq.push(['_trackEvent', '[header] login', 'click']);
和
_gaq.push(['_trackEvent', 'check', 'something else']);