2010-03-08 63 views
2

我有一个JavaScript文件,它被加载到我的HTML页面的末尾。将Google Analytics的JavaScript与您的JavaScript相结合。 (异步跟踪。)

而不是增加针对谷歌异步跟踪脚本代码在另一个剧本,我宁愿两个脚本结合起来。

因此,不是这样的:

<html> 
     ... 

     <script src="myScript.js"> 

     <!-- google analytics --> 
     <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'; 
       (document.getElementsByTagName('head')[0] || 
       document.getElementsByTagName('body')[0]).appendChild(ga); 
      })(); 
     </script> 
    </html> 

我会在第二个脚本标记的代码位在我的“myScript.js”的结束。

我还没有发现谷歌文​​档在一个地方,它表明该脚本与你结合。

我该如何解决这个问题?

回答

1

结合脚本工作绝对没问题(事实上,我已经做了我的网站之一)。只要Google代码的顺序仍然相同,那么它将完美工作。

+0

你碰巧知道为什么这种技术从未在任何谷歌分析文件中提到?它几乎看起来像他们不想认可它。 – Zo72 2010-03-08 14:35:10

+0

@lorenzo:我在我的帖子中回答了这个问题:http://stackoverflow.com/questions/2401308/2597908#2597908 – 2010-04-08 06:09:45

2

异步谷歌Analytics(分析)代码段的整点开始,尽快收集数据 - 其他JavaScript文件加载完毕之前也。把代码放在你的scripts.js文件的末尾几乎会失去这个目的。

如果你希望把它放在一个单独.js文件,因此代码片段可以被缓存的客户端,这是伟大的!但要确保加载之前其它脚本:

<script src="analytics-snippet.js"></script> 
<script src="other-scripts.js"></script> 

当然,这是一个额外的HTTP请求,但让我们来优化,每一个访问者浏览网站上的多个页面的情况。

此外,您还可以更换:

(document.getElementsByTagName('head')[0] || 
      document.getElementsByTagName('body')[0]).appendChild(ga); 

有了:

(document.head || document.getElementsByTagName('head')[0] || document.body).appendChild(ga); 
相关问题