HTML脚本标记位置?

时间:2011-09-17 04:37:29

标签: html

我偶尔会听到在HTML文档中而不是<script>元素中放置HTML <head>标记。

有些人,或许我听说过,甚至主张将一个人的脚本作为</body>之前的最后几个标签。

这是由于性能问题吗?考虑到脚本相关的脚本放在其他脚本之后,加载脚本可能是一个阻塞的IO操作:

<script src="jQuery.js"></script>
<script src="myScriptThatUsesjQuery.js"></script>

即使是这种情况,为什么要将一个脚本放在HTML文档的末尾附近呢?

谢谢!

3 个答案:

答案 0 :(得分:10)

<script>标记出现在<body>内时,它会暂停解析文档,直到文档被加载(如果适用)并执行。这样,使用document.write的旧脚本可以完成它们的工作。

在身体的最后放置<script>标签会阻止他们举起来。

答案 1 :(得分:4)

好吧,<script>应该包含在</body>之前,正如你所说<script src="jQuery.js"></script>必须包含在<script src="myScriptThatUsesjQuery.js"></script>之前,因为jQuery.js会加载所有的功能由myScriptThatUsesjQuery.js使用,因此在声明之前你不能使用函数(例如$())。

答案 2 :(得分:0)

在head标签中包含大量脚本文件会降低网站性能,因为HTTP规范建议浏览器不要并行从任何主机下载2个以上的文件。因此,如果您从站点的脚本文件夹中加载了大约6个.js文件,则当浏览器通过列表2x2时,将阻止加载站点上的其他资源(images / css等)。它基本上会产生瓶颈。

我认为一些现代浏览器有解决这个问题的方法,但是直到全世界放弃IE6 / 7,最好在优化方面犯错。