javascript - "_gaq is undefined” IE7和IE8谷歌分析错误

标签 javascript google-analytics google-analytics-api

我在 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/

相关文章:

android - 获取有关 root 用户数量的统计信息(分析)

javascript - XMLHttpRequests 上是否有可用的 NavigationTiming 接口(interface)?

javascript - Chart.js 图表格式 - 图例、Y 轴和标题

javascript - ajax/jQuery Youtube 播放列表推送

javascript - 如何使用ajax获取php多个值到不同的Div中

highcharts - 未捕获的 Highcharts 错误 #19 : www. highcharts.com/errors/19

php - Google Analytics API PHP - 获取前 5 个页面

c# - GoogleWebAuthorizationBroker 无法使用 https//accounts.google.com/o/oauth2/v2/auth 启动浏览器;重定向 uri 不匹配

r - 如何通过GA API访问唯一的客户端ID?

javascript - 加载 HTML 后编译 JS 指令