DOMContentLoaded
和load
事件和有什么不一样?
DOMContentLoaded 和 load 事件的区别
DOMContentLoaded 事件在文档完全加载和解析后触发,无需等待样式表、图像和子框架完成加载(加载事件可用于检测完全加载的页面)。
该DOMContentLoaded
事件将在 DOM 层次结构完全构建后立即触发,该load
事件将在所有图像和子帧加载完成后执行。
DOMContentLoaded
将适用于大多数现代浏览器,但不适用于 IE,包括 IE9 及更高版本。有一些变通方法可以在旧版本的 IE 上模拟此事件,例如在 jQuery 库中使用的方法,它们会附加IE 特定 onreadystatechange
事件。
自己看看区别:
来自微软 IE
DOMContentLoaded 事件在当前页面解析完成时触发;当所有文件从所有资源(包括广告和图像)加载完毕后,将触发 load 事件。DOMContentLoaded 是一个很好的事件,用于将 UI 功能连接到复杂的网页。
DOMContentLoaded 事件在文档完全加载和解析后触发,无需等待样式表、图像和子框架完成加载(加载事件可用于检测完全加载的页面)。
DOMContentLoaded
==window.onDomReady()
Load
==window.onLoad()
在文档“准备好”之前,不能安全地操作页面。jQuery 会为您检测这种准备状态。包含在其中的代码
$(document).ready()
只会在页面文档对象模型 (DOM) 准备好执行 JavaScript 代码时运行。$(window).load(function() { ... })
一旦整个页面(图像或 iframe),而不仅仅是 DOM,准备好后,其中包含的代码就会运行。
domContentLoaded:标记 DOM 准备就绪并且没有样式表阻止 JavaScript 执行的时间点——这意味着我们现在可以(可能)构建渲染树。许多 JavaScript 框架在开始执行自己的逻辑之前会等待此事件。出于这个原因,浏览器会捕获 EventStart 和 EventEnd 时间戳,以允许我们跟踪此执行所花费的时间。
loadEvent:作为每个页面加载的最后一步,浏览器会触发“onload”事件,该事件可以触发额外的应用程序逻辑。