我在 IE7 和 IE8 中遇到_gaq is undefined错误
下面是我的脚本
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX']);
_gaq.push(['_setDomainName', 'yyy.com']);
_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>
我可以为 _gaq 分配默认值吗? Refer this link
最佳答案
根据你对我评论的回复,这个问题的答案是
几年前,Google Analytics 转向了一种新的、更现代的事件处理方式,允许浏览器加载完整页面,而无需等待 GA 服务器的响应。而在过去,系统会引导您将 <script>
谷歌在页面末尾附近提供的片段(就在结束正文标签之前),现在你应该在 <head>
中的某处包含标签HTML 的一部分。
新脚本通过定义一个 javascript 变量来工作 _gaq
作为一个数组,它被视为一个队列。页面浏览量、事件和其他您想跟踪的内容被推送到数组中,这实际上是即时的。有时间时,GA 代码将检查数组的内容并将其弹出,处理对 GA 服务器的请求,直到数组为空。
_gaq
的副作用变量是脚本标签必须在引用之前在HTML中,否则你会得到JS错误_gaq is undefined
.
例如as documented here in the Google Analytics event tracking guide您可能想知道用户何时在您的网站上播放视频,如下所示:
<a href="#" onClick="_gaq.push(['_trackEvent', 'Videos', 'Play', 'Baby\'s First Birthday']);">Play</a>
注意对变量 _gaq
的引用这里。如果尚未定义,您将收到错误消息。
简短回答:将异步 javascript 片段放在 <head>
中您的 HTML。
关于javascript - "_gaq is undefined” IE7和IE8谷歌分析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13392438/