把Script标签放在页面最底部的</body>之前和之后有什么区别?浏览器会如何解析它们?

x33g5p2x  于2022-02-21 转载在 其他  
字(0.5k)|赞(0)|评价(0)|浏览(156)

如果把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标签中存在一些操作全局样式的代码,此时应该让其放在前面,让其优先解析。

相关文章

微信公众号

最新文章

更多