未捕获的ReferenceError:_gaq没有定义(谷歌分析)(Uncaught Referen

2019-07-29 05:51发布

在铬调试日志查看站点页面时,会出现以下消息。

未捕获的ReferenceError:未定义_gaq

页面本身应该使用跟踪对象onload事件处理程序和火_trackEvent为谷歌Analytics(分析)。

我最好的猜测是,也许是ga.js文件没有及时装载,因此onload _trackEvent触发没有被捕获。 异步代码段正被所述前使用</body>关闭并且对象被定位在中间<body>

(一些其他职位已引用jQuery的位置太多,但,这可能是一个红鲱鱼)

任何帮助,不胜感激。

Answer 1:

从https://developers.google.com/analytics/devguides/collection/gajs/此代码替换现有的“传统片断”与“最新,异步版本,你应该首先删除现有的跟踪代码段。”

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _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>

要查看事件进来(要知道,如果这是工作)寻找“活动”上的“报告”页面左侧的“实时”菜单选项下。



Answer 2:

关于异步代码段的位置, GA帮助页说-

因此,它在收盘前出现该段粘贴到网站模板页</head>标记。

我首先想到的是,JS应在页面底部加载,以提高速度。 然而,GA异步跟踪代码段应在头部被加载,因为它不会立即加载的ga.js,它不会阻止页面执行。(它通过动态地添加脚本标签到DOM,这使做到这一点它在队列的后面。)

如果由于某种原因,你不能将异步代码段,举至头顶,你可以定义_gaq自己,像这个-

<button onclick="var _gaq = _gaq || []; _gaq.push(['_trackEvent', 'button3', 'clicked'])"/><button>


Answer 3:

有同样的问题。 你必须定义_gaq阵列。 就在头的谷歌分析脚本后补充一点:

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXX-X']);
_gaq.push(['_trackPageview']);


Answer 4:

您可以使用最新版本的analytics.js代替的ga.js

的ga.js是一个传统的图书馆。 如果你开始一个新的实现,我们建议您使用最新版本的库,analytics.js的。 对于exisiting实现,学习如何从的ga.js迁移到analytics.js。

下面是一个例子:

ga('send', {
  hitType: 'event',
  eventCategory: 'Video',
  eventAction: 'play',
  eventLabel: 'cats.mp4'
});


Answer 5:

将跟踪操作的代码:

<script type="text/javascript">
      var gaq; 
      var _gaq = gaq || [];
      _gaq.push(['_setAccount', 'UA-XXXXX-X']);
      _gaq.push(['_setDomainName', 'yourdomain.com']);
      _gaq.push(['_setAllowLinker', true]);
       _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>


文章来源: Uncaught ReferenceError: _gaq is not defined (Google Analytics)