gpt4 book ai didi

javascript - 我应该将 Google Analytics 异步代码段放在哪里

转载 作者:行者123 更新时间:2023-11-28 21:16:05 26 4
gpt4 key购买 nike

谷歌说

The asynchronous snippet should appear at the top of your page before the closing tag.

并给出:

<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>

我可以将其设为外部 .js 文件吗?还是必须将其放在 html 页面本身中?

最佳答案

可以通过任何方式加载代码片段。如果您想将其包含在外部文件中,请自行解决。 Google 建议将其放入 <head>最大化被跟踪的综合浏览量,但您也可以轻松地将其加载到 <body> 中毫无困难,或者来自外部 JavaScript 文件,甚至是动态注入(inject)的 JavaScript 文件。所需要发生的只是代码片段需要执行; ga.js照顾剩下的事情。

即使您的浏览器本身缓存了代码,它仍然会执行 ga.js (其本身可能被缓存),但它发送到 Google Analytics 的数据被严重缓存破坏。即使在最严格的代理环境中,您的浏览器也无法缓存该请求。

您的分析数据“发送”到 Google Analytics 的方式是 ga.js ,在从环境、您的配置及其设置的 cookie 收集所有分析数据后,将所有这些值连接到动态图像请求上的查询字符串(通过 JavaScript 请求,但从未实际注入(inject)到 DOM 中)。这些请求具有缓存清除参数,以及每个请求通常唯一的数据。

此外,所请求的图像专门指示浏览器通过设置这些 header 来避免缓存它:

Cache-Control:private, no-cache, no-cache=Set-Cookie, proxy-revalidate
Expires:Wed, 19 Apr 2000 11:43:00 GMT
Pragma:no-cache

关于javascript - 我应该将 Google Analytics 异步代码段放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7549838/

26 4 0