它们两个最基本的区别就是:在加载HTML文档时,domcontentloaded事件要先于load事件,但是在具体分析时,网上有很大一部分分析有错。请看下方:
DOM文档加载的步骤为: 1、解析HTML结构。 2、加载外部脚本和样式表文件。 3、解析并执行脚本代码。 4、DOM树构建完成。//DOMContentLoaded 5、加载图片等外部文件。 6、页面加载完毕。//load
其中第二条,运行到DOMContentLoaded这一步时,并不加载样式表文件,原因是查看MDN的解释:
当初始HTML文档已完全加载和解析时,将触发DOMContentLoaded事件,而无需等待样式表,图像和子框架完成加载。一个非常不同的事件
load 应该仅用于检测完全加载的页面。
所以我们看第五步,到底说的图片等外部文件,这个等,等的谁?,在MDN上可以明显看出是样式表,图像和子框架,当然还包括flash。 需要注意的是,CSS会阻塞图片的加载,所以一般会先加载css样式表,然后加载图片。JS并不会阻塞图片加载。
转载请注明原文地址: https://ju.6miu.com/read-6711.html