【发布时间】:2012-02-26 22:33:24
【问题描述】:
我正在尝试帮助开发一个库,为此我正在尝试处理页面加载。
在这个过程中,我想让库完全兼容 defer 和 async 的使用。
我想要的很简单:
我怎么知道 DOMContentLoaded 是在文件执行时触发的?
为什么这么难?
在 IE 中,document.readyState 在 DOMContentLoaded 之前显示交互。
我不会以任何方式使用浏览器检测,这违反了我和其他参与者的政策。
什么是正确的选择?
编辑:
好像我不够清楚。我不有兴趣知道加载事件是否已经发生!!!我已经知道如何解决这个问题了!我想知道如何用 DOMContentLoaded 解决!!!
【问题讨论】:
-
设置一个设置属性或变量的监听器。如果已设置,则事件已被调度。当然,您可能使用的浏览器不支持该事件,在这种情况下它永远不会发生。
-
@RobG 对于 ado 不支持 DOMContentLoaded 的浏览器,我已经有了答案。对于那些,我使用 load 事件和 onload 事件。我仍然没有回答我提出的问题
-
没有“onload”事件,有一个 onload 属性/属性用于设置 load 事件的侦听器。如果您想明确知道是否发生了 DOMContentLoaded,请设置一个侦听器并查看它是否被调用。
标签: javascript events readystate