【发布时间】:2008-09-15 18:28:43
【问题描述】:
我知道有一些方法可以在页面正文加载时获得通知(在所有图像和 3rd 方资源加载触发 window.onload 事件之前),但每个浏览器都不同.
是否有明确的方法可以在所有浏览器上执行此操作?
目前我知道的:
-
DOMContentLoaded:在 Mozilla、Opera 9 和最新的 WebKit 上。这涉及向事件添加侦听器:
document.addEventListener("DOMContentLoaded", [init function], false);
-
延迟脚本:在 IE 上,您可以发出带有 @defer 属性的 SCRIPT 标记,该标记仅在 BODY 标记关闭后才会可靠地加载。
李> 轮询:在其他浏览器上,您可以继续进行轮询,但是是否有标准的事情要轮询,或者您需要在每个浏览器上做不同的事情?
我希望能够不使用 document.write 或外部文件。
这可以通过 jQuery 简单地完成:
$(document).ready(function() { ... })
但是,我正在编写一个 JS 库,不能指望 jQuery 总是在那里。
【问题讨论】:
-
有这方面的消息吗?这个答案在这里已经存在了 2.5 年......也许浏览器供应商和标准现在更好?
-
不,虽然 IE9 现在也支持 DOMContentLoaded。所以我们只能坐等
标签: javascript dom