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