7

我有一个小的 javascript 工具,它可能会被预加载、延迟加载或按需加载。当它启动时,它会向 DOM 添加一些东西。它是低优先级的,如果它是预加载的,它可以在运行之前等待 onload 事件触发,但如果它是延迟加载的,它可以继续并立即运行。

目前它正在检查页脚元素的 ID 是否存在,以确定是否应该将事件侦听器添加到窗口 onload 事件或只是运行。例如

if ( document.getElementById("footer") ){
   Init()
} else {
   if (window.addEventListener){...}
   else if (window.attachEvent){...}
}

虽然目前正在工作,但这显然是一个非常糟糕的解决方案。任何非 jQuery 相关的改进建议都非常感谢!

4

1 回答 1

12

你应该使用document.readyState属性:

if (document.readyState === 'complete') {
   //do stuff
}
于 2013-03-22T12:24:07.927 回答