首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动激活domContentLoaded

手动激活domContentLoaded
EN

Stack Overflow用户
提问于 2012-08-03 02:38:44
回答 2查看 1.2K关注 0票数 1

我遇到了一个执行此操作的脚本:

代码语言:javascript
复制
"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。

是干什么的呢?

EN

回答 2

Stack Overflow用户

发布于 2012-08-03 02:53:07

也许你会更好地理解它:

代码语言:javascript
复制
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.");
        }
    }
}

它确实是:

  1. 检查是否加载了文档,如果支持,则在1 ms attachEvent
  2. If事件后调用函数
  3. I如果不支持,则检查浏览器是否支持DOM,当加载DOM时,将(通过

或<代码>D13>事件)调用函数X < DOMContentLoaded >H214

  1. 如果不支持,则检查浏览器是否支持DOM,加载DOM时,将调用函数X(通过load事件)
  2. 如果不支持,它说浏览器不支持attachEvent

addEventListener

我猜函数X访问或修改DOM,所以上面的脚本在调用X之前检查DOM是否完全加载。

票数 3
EN

Stack Overflow用户

发布于 2012-08-03 02:44:43

这似乎是一段以跨浏览器方式检测DOM加载状态的代码。

如果浏览器不支持DOMContentLoaded,它将重新使用window load事件。

一旦DOM可供操作,即在页面呈现之后,它用于启动您的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11783745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档