Google Analytics 的两个单独的脚本标签?

2024-04-21

有谁知道为什么 Google Analytics 需要两个单独的脚本标签?

具体来说,他们的说明建议用户将以下代码片段嵌入网页中以进行跟踪:

<!-- Google Analytics -->
<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-8720817-1");
pageTracker._trackPageview();
} catch(err) {}</script>

为什么用户不能只使用一个脚本块,如下所示:

<!-- Google Analytics -->
<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"));
try {
var pageTracker = _gat._getTracker("UA-8720817-1");
pageTracker._trackPageview();
} catch(err) {}</script>

<script>标签按顺序执行。 A<script>如果前一个块尚未执行完毕,则该块无法执行。

首先<script>标签负责创建Google<script>标签将加载外部js。第一个之后<script>执行完成后,DOM 如下所示:

<script></script> <!-- First Script Tag -->
<script></script> <!-- Google Injected Script -->
<script></script> <!-- Second Script Tag -->

这保证了第二个<script>标签不会执行,直到.js已完成加载。如果第一和第二<script>将被合并,这将导致_gat变量未定义(因为 Google 注入的脚本在第一个脚本执行完成之前不会开始加载)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Analytics 的两个单独的脚本标签? 的相关文章

随机推荐