来自jQuery的document.ready()的Google分析不起作用

时间:2013-07-19 08:33:32

标签: jquery google-analytics document-ready

我正试图找到一种从document.ready()函数添加谷歌分析代码的方法。以下代码不起作用。

$(document).ready(function () {
             var _gaq = window._gaq || [];
                 _gaq.push(['e._setAccount', 'UA-XXXZZ-1']);
                 _gaq.push(['e._setDomainName', 'company.com']);
                 _gaq.push(['e._trackPageview']);
                 _gaq.push(['a._setAccount', 'UA-XXXYY-1']);
                 _gaq.push(['a._setDomainName', 'company.com']);
                 _gaq.push(['a._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);
                 })();      
}); 

解决方案可以是什么?我可以在head标签内放置创建ga.js文件链接的代码片段,但是它会解决问题吗?

由于

3 个答案:

答案 0 :(得分:1)

以下设置似乎正常: 在页头中添加此脚本,该脚本立即运行:

<script type="text/javascript">
  (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>

在文档准备中添加跟踪代码:

 $(document).ready(function () {
      var _gaq = window._gaq || [];
      _gaq.push(['e._setAccount', 'UA-XXXZZ-1']);
      _gaq.push(['e._setDomainName', 'company.com']);
      _gaq.push(['e._trackPageview']);
      _gaq.push(['a._setAccount', 'UA-XXXYY-1']);
      _gaq.push(['a._setDomainName', 'company.com']);
      _gaq.push(['a._trackPageview']); });

答案 1 :(得分:0)

删除$(文件).ready(function(){

和文档就绪结束标记=&gt; });

因为google analytic在侧文档就绪功能中不起作用

答案 2 :(得分:0)

Another question为你解答,马萨迪走在正确的轨道上:

文档ready函数意味着_gaq变量的范围太有限。当ga.js中的其余Google脚本运行时,无法找到该变量。通过将_gaq内容移动到全局范围内(在任何其他函数之外或使用window.gaq),可以找到该变量。

将其放入文档ready的唯一好处是确保在分析运行之前完成DOM。对我来说,这是因为在设置<title>之前调用了脚本,否则我会得到空白的标题。