我遇到了一个执行此操作的脚本:
"complete" === document.readyState ? setTimeout(I, 1) : document.addEventListener ? (document.addEventListener("DOMContentLoaded", X, h), window.addEventListener("load", X, h)) : window.attachEvent ? window.attachEvent("onload", X) : console.log("No available event.")其中X和i是函数,h是false。
是干什么的呢?
发布于 2012-08-03 02:53:07
也许你会更好地理解它:
if("complete" === document.readyState){
setTimeout(I, 1);
}else{
if(document.addEventListener){
document.addEventListener("DOMContentLoaded", X, h),
window.addEventListener("load", X, h));
}else{
if(window.attachEvent){
window.attachEvent("onload", X);
}else{
console.log("No available event.");
}
}
}它确实是:
attachEventI如果不支持,则检查浏览器是否支持DOM,当加载DOM时,将(通过或<代码>D13>事件)调用函数X < DOMContentLoaded >H214
load事件)attachEvent和addEventListener
我猜函数X访问或修改DOM,所以上面的脚本在调用X之前检查DOM是否完全加载。
发布于 2012-08-03 02:44:43
这似乎是一段以跨浏览器方式检测DOM加载状态的代码。
如果浏览器不支持DOMContentLoaded,它将重新使用window load事件。
一旦DOM可供操作,即在页面呈现之后,它用于启动您的代码。
https://stackoverflow.com/questions/11783745
复制相似问题