从MDN,我知道DOMContentLoaded不会等待样式表。
完全加载和解析初始HTML文档时会触发DOMContentLoaded事件,而无需等待样式表,图像和子帧完成加载。
但是来自varvy.com和谷歌
一个常见的误解是样式与domContentLoaded无关,但根据W3 HTML5规范,这是不正确的
domContentLoaded:标记了DOM准备就绪并且没有阻止JavaScript执行的样式表 - 这意味着我们现在(可能)构造渲染树。
domContentLoaded通常标记DOM和CSSOM何时准备就绪。
那么,哪一个是对的?什么是阻止脚本的样式表?
必须执行所有内联Javascripts,因为它们可以影响dom ..例如document.write
。如果JS访问一些尚未加载的CSS ..另一种说法是“CSS阻塞JS”..所以......等待JS等待加载CSS。
DOM ----(等待)---> JS ----(等待)---> CSS
另一种方式:
DOM <---(阻塞)--- JS <---(阻塞)---- CSS
因此,必须在domContentLoaded之前加载阻止CSS!之后,没有阻止JavaScript执行的样式表!现在大胆有道理吗?
CSSOM准备就绪意味着它已准备好被DOM使用,因此dom不使用的CSS可能会继续加载。
错误观念现在解散了吗?