我偶尔会听到在HTML文档中而不是<script>
元素中放置HTML <head>
标记。
有些人,或许我听说过,甚至主张将一个人的脚本作为</body>
之前的最后几个标签。
这是由于性能问题吗?考虑到脚本相关的脚本放在其他脚本之后,加载脚本可能是一个阻塞的IO操作:
<script src="jQuery.js"></script>
<script src="myScriptThatUsesjQuery.js"></script>
即使是这种情况,为什么要将一个脚本放在HTML文档的末尾附近呢?
谢谢!
答案 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,最好在优化方面犯错。