DOMContentLoaded事件的误解

问题描述 投票:2回答:1

MDN,我知道DOMContentLoaded不会等待样式表。

完全加载和解析初始HTML文档时会触发DOMContentLoaded事件,而无需等待样式表,图像和子帧完成加载。

但是来自varvy.com和谷歌

一个常见的误解是样式与domContentLoaded无关,但根据W3 ​​HTML5规范,这是不正确的

domContentLoaded:标记了DOM准备就绪并且没有阻止JavaScript执行的样式表 - 这意味着我们现在(可能)构造渲染树。

domContentLoaded通常标记DOM和CSSOM何时准备就绪。

那么,哪一个是对的?什么是阻止脚本的样式表?

html5 dom stylesheet domcontentloaded cssom
1个回答
0
投票

必须执行所有内联Javascripts,因为它们可以影响dom ..例如document.write。如果JS访问一些尚未加载的CSS ..另一种说法是“CSS阻塞JS”..所以......等待JS等待加载CSS。

DOM ----(等待)---> JS ----(等待)---> CSS

另一种方式:

DOM <---(阻塞)--- JS <---(阻塞)---- CSS

因此,必须在domContentLoaded之前加载阻止CSS!之后,没有阻止JavaScript执行的样式表!现在大胆有道理吗?

CSSOM准备就绪意味着它已准备好被DOM使用,因此dom不使用的CSS可能会继续加载。

错误观念现在解散了吗?

© www.soinside.com 2019 - 2024. All rights reserved.