Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在</头>;标签vs</车身>;标签?_Javascript_Performance_Google Analytics - Fatal编程技术网

Javascript 在</头>;标签vs</车身>;标签?

Javascript 在</头>;标签vs</车身>;标签?,javascript,performance,google-analytics,Javascript,Performance,Google Analytics,编辑:虽然这个问题在()、()、()之前已经被问过并回答过,但答案没有提到在中包含文件时使用异步和/或延迟加载的可能性。由于Google analytics的新代码使用了这两种方法,我被提示提出这个问题 我最近注意到,Google analytics现在建议在标记之前包含它的Javascript片段。他们过去常常建议在标记之前包含代码片段 建议将脚本尽可能放在页面下方,因为脚本会阻止并行下载: 脚本造成的问题是它们阻止并行下载。HTTP/1.1规范建议浏览器每个主机名最多并行下载两个组件。如果

编辑:虽然这个问题在()、()、()之前已经被问过并回答过,但答案没有提到在
中包含文件时使用异步和/或延迟加载的可能性。由于Google analytics的新代码使用了这两种方法,我被提示提出这个问题


我最近注意到,Google analytics现在建议在
标记之前包含它的Javascript片段。他们过去常常建议在
标记之前包含代码片段

建议将脚本尽可能放在页面下方,因为脚本会阻止并行下载:

脚本造成的问题是它们阻止并行下载。HTTP/1.1规范建议浏览器每个主机名最多并行下载两个组件。如果您从多个主机名提供图像,您可以同时获得两次以上的下载。但是,在下载脚本时,浏览器不会启动任何其他下载,即使是在不同的主机名上

谷歌表示:

异步代码段的主要优点之一是可以将其定位在HTML文档的顶部。这增加了在用户离开页面之前发送跟踪信标的可能性。通常将JavaScript代码放在
部分,我们建议将代码段放在
部分的底部以获得最佳性能

我通常更关心用户体验和页面加载速度,而不是确保每个跟踪信号都被发送,因此这会促使我将Google analytics脚本包含在页面底部,而不是
,对吗

我相信还有比这两种观点更需要考虑的事情。影响你的是什么?有什么要考虑的?< /P> 那么,在
之前正确使用脚本与在
之前正确使用脚本的优缺点是什么?

关于
的建议是不要链接到需要下载的外部脚本。这将阻止并行下载。谷歌最新的跟踪代码使用,并且不阻止并行下载

(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);
  })();

将脚本放入
将强制浏览器在呈现页面之前下载文件,并阻止并行下载。如果将脚本放在end
标记之前,浏览器将在内容之后解析脚本,这将加快页面加载速度

通过使用带有
async=true
的自执行匿名函数,您不会阻止并行下载

对于具有模态的非常复杂的应用程序,如果启用了JS,则需要隐藏模态,那么将脚本放在
之前是一个缺点

<head>
<script>document.documentElement.className+='js';</script>
<style>html.js #modal { display:none; }</style>
</head>

document.documentElement.className+='js';
html.js#modal{display:none;}
如果上面的代码片段放在
之前,则不会在它位于头部时立即对其进行解析。在dom就绪时间方面,您可能也会注意到某些情况和不一致


相关问题:

除了其他人到目前为止所说的之外,我的猜测是,分析可以更准确地跟踪访问。有时,有人会在整个页面下载完毕之前访问某个站点并离开。如果他们这样做,如果跟踪代码更靠近页面顶部,他们下载跟踪代码的可能性更大。这将有助于那些分析统计数据的人看到反弹率。如果你注意到你的跳出率很高(页面上的时间很低),这可能表明你的页面对大多数读者来说花费的时间太长,应该提醒你做一些事情来加速页面加载。

@Amr-这个问题的答案不包括脚本的异步或延迟加载。