window.onload事件已经触发了

时间:2013-03-22 12:18:58

标签: javascript onload addeventlistener

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

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

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

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

1 个答案:

答案 0 :(得分:11)

您应该使用document.readyState属性:

if (document.readyState === 'complete') {
   //do stuff
}