当前位置:  开发笔记 > 编程语言 > 正文

在页面DOM加载时(但在window.onload之前)收到通知

如何解决《在页面DOM加载时(但在window.onload之前)收到通知》经验,为你挑选了1个好方法。

我知道有一些方法可以在页面主体加载时通知(在所有图像和第三方资源加载之前触发window.onload事件),但每个浏览器都有所不同.

在所有浏览器上都有明确的方法吗?

到目前为止,我知道:

DOMContentLoaded:在Mozilla,Opera 9和最新的WebKits上.这涉及为事件添加一个监听器:

document.addEventListener("DOMContentLoaded",[init function],false);

延迟脚本:在IE上,您可以发出带有@defer属性的SCRIPT标记,该标记将在BODY标记关闭后可靠地加载.

轮询:在其他浏览器上,您可以继续轮询,但是甚至还有一个标准的东西要进行轮询,或者您是否需要在每个浏览器上执行不同的操作?

我希望能够不使用document.write或外部文件.

这可以通过jQuery简单地完成:

$(document).ready(function() { ... })

但是,我正在编写一个JS库,并且不能指望jQuery始终存在.



1> John Milliki..:

没有跨浏览器方法来检查DOM何时就绪 - 这就是为什么像jQuery这样的库存在,以抽象出令人讨厌的一些不兼容性.

Mozilla,Opera和现代WebKit支持此DOMContentLoaded活动.IE和Safari需要奇怪的黑客,比如滚动窗口或检查样式表.血淋淋的细节包含在jQuery的bindReady()功能中.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有