window的load事件和document的DOMContentLoaded事件
区别
DOMContentLoaded
:HTML文档(DOM)被完全加载和解析完成之后触发,不等待styles、images、js等资源的加载;
load
:在HTML文档和所有相关的资源全部加载加载完成后才会触发;
- DOMContentLoaded绑定在
document
,load绑定在window
。1 2 3 4 5 6 7 8
| document.addEventListener('DOMContentLoaded', (e) => { console.log("DOMContentLoaded"); }); window.addEventListener('load', (e) => { console.log("load"); });
|
如何触发
- 当
DOMContentLoaded
事件触发时,仅当DOM加载完成,不包括样式、图片、flash等;
- 当
load
事件触发时,页面上所有的DOM、样式、脚本、图片flash都己加载完成。
DOM的加载步骤
- 解析HTML结构;
- 加载外部脚本和样式文件;
- 解析并执行脚本代码;
- DOM树构建完成; // DOMContentLoaded
- 加载图片等外部文件;
- 页面加载完毕。 // load
最后更新时间: