script
标签放在</body>
之前,则浏览器加载时会阻塞其他资源,如果放到</body>
标签之后,则不会阻塞资源。因为如果放在
</body>
标签之前,则浏览器当解析到script
标签时会暂停html
的解析(因为不知道在js中会不会操作DOM
,故此中断)。如果放在</body>
标签之后,则浏览器当解析到script
标签时不会出现阻塞,但是可能当用户操作DOM
时,js
没有响应(因为不存在阻塞现象,当页面展示出来时,js
可能还没有加载完毕)。在
HTML2.0
时,如果将script
标签放到</body>
标签之后,则是不符合标准的,但是也是不报错的,此时当浏览器解析的时候,会将放在</body>
后面的script
标签放到</body>
的前面,所以此时如果放入script
标签时,应该将其放入<head>
标签中或者</body>
标签之前。因为浏览器当遇到
script
标签时,会停止解析,此时会造成页面阻塞的情况。多数情况下,我们将script
标签放在底部,让其最后加载。如果script
标签中存在一些操作全局样式的代码,此时应该让其放在前面,让其优先解析。