DOMContentLoaded事件的误解

时间:2017-07-05 07:46:19

标签: html5 dom stylesheet domcontentloaded cssom

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

  

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

但是来自varvy.com以及谷歌

  

常见的误解是样式与domContentLoaded无关,但根据W3 ​​HTML5规范,这是不真实的

     

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

     

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

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

1 个答案:

答案 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可以继续加载。

现在误解了吗?