onload 和 DOMContentLoaded的区别
在js中DOMContentLoaded方法是在HTML文档被完全的加载和解析之后才会触发的事件,他并不需要等到(样式表/图像/子框架)加载完成之后再进行。在看load事件(onload事件),用于检测一个加载完全的页面。
# DOM完整的解析过程:
- 解析HTML结构。
- 加载外部脚本和样式表文件。
- 解析并执行脚本代码。
- DOM树构建完成。//DOMContentLoaded
- 加载图片等外部文件。
- 页面加载完毕。//load
在第4步的时候DOMContentLoaded事件会被触发。 在第6步的时候load事件会被触发。
# 触发
- 当 onload事件触发时,页面上所有的DOM,样式表,脚本,图片,flash都已经加载完成了。
- 当 DOMContentLoaded 事件触发时,仅当DOM加载完成,不包括样式表,图片,flash。