Javascript Google Analytics跟踪代码中的双脚本标记
这更像是一个好奇的问题 谷歌指示添加分析跟踪代码,如下所示:Javascript Google Analytics跟踪代码中的双脚本标记,javascript,google-analytics,tracking,Javascript,Google Analytics,Tracking,这更像是一个好奇的问题 谷歌指示添加分析跟踪代码,如下所示: <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js'
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}
</script>
var gaJsHost=((“https:==document.location.protocol)?”https://ssl." : "http://www.");
write(unescape(“%3Cscript src=”+gaJsHost+“google analytics.com/ga.js”type='text/javascript'%3E%3C/script%3E”);
试一试{
var pageTracker=_gat._getTracker(“UA-xxxxxx-x”);
页面跟踪器。_trackPageview();
}捕获(错误){}
我想知道这里的一些JS大师能告诉我为什么他们要把它分成两个脚本标签,而不是把它们都放在一个里面。我知道顶部可以放在页眉中,底部可以放在body标记之前,以确保页面在跟踪之前加载,但我想知道是否还有其他内容。任何知道这一点的人都可能知道如何将代码分成两个标记
我只是问,因为这是来自谷歌,正在被数百万的网站使用
谢谢如果让我猜的话,我会说这是因为
文档代码>行,其中动态包含另一个JS文件。我不知道他们为什么动态加载那个。我猜这与您是否运行https或http有关
如果是一个文件,我怀疑ga.js
文件是否能及时加载以运行pageTracker
代码\u gat
将不存在,您将得到一个错误,而不是能够实际使用分析。这是跨浏览器的一致性,它需要确保document.write()
在下一个脚本块运行之前粘贴它生成的标记,因此结果如下所示:
<script src='http://www.google-analytics.com/ga.js' type='text/javascript'></script>
<script type="text/javascript">
try{
var pageTracker = _gat._getTracker("UA-xxxxxx-x");
pageTracker._trackPageview();
} catch(err) {}
</script>
试一试{
var pageTracker=_gat._getTracker(“UA-xxxxxx-x”);
页面跟踪器。_trackPageview();
}捕获(错误){}
如果它没有在两个脚本中执行,那么第二个脚本块中的\u gat
将是未定义的,因为ga.js
尚未加载…但是作为该脚本块之前的一个脚本块,页面在最后一个脚本块中执行代码之前会等待,从而使所有代码都能正常工作。基本上,浏览器按顺序执行脚本块,谷歌利用这一事实在需要加载脚本时加载脚本…这是在使用脚本之前。有趣的想法。。。但是,标签的关闭和重新打开是否会产生足够的影响,使其成为现实?啊,有道理。。。一旦延迟消失,我会接受这个答案。谢谢。只是转达一下评论。有一个很酷的片段可以异步加载GA:很好,我不知道他们有,谢谢