gpt4 book ai didi

Javascript DOMContentLoaded 事件未在 Internet Explorer 中触发

转载 作者:数据小太阳 更新时间:2023-10-29 03:49:18 24 4
gpt4 key购买 nike

我有以下代码将函数附加到 DOMContentLoaded 事件,但该函数从未在 Internet Explorer 11 中调用

代码:

if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", init, false);
}
else {
document.attachEvent("onDOMContentLoaded", init);
}

最佳答案

它可能不会触发的原因有几个:

  1. 它已经触发(在您附加事件处理程序之前)而您错过了它。
  2. 您运行的是不支持 DOMContentLoaded 事件的旧版 IE。
  3. 在这些代码行之前存在某种脚本错误,因此这些代码行并未实际执行,因此事件处理程序从未真正注册过。
  4. 您正尝试在嵌入式 iFrame 上执行此操作,并且可能没有适合 iFrame 的正确文档(某些浏览器可以在加载外部源时切换文档)。

要检查脚本错误,您应该在 IE 中打开调试控制台(按 F12)并查看控制台以查看是否报告了任何脚本错误。

您可以检查 document.readyState === "complete" 是否已经触发。

并且,在 IE9 之前的 IE 版本中,您需要 attachEvent,IE 不支持 DOMContentLoaded,因此您的 else 分支将无法工作。您将不得不在那些旧版本的 IE 中使用不同的检测方法。

您可以在此处看到一个经过良好测试的跨浏览器纯 javascript 函数,用于在文档准备就绪时收到通知:pure JavaScript equivalent to jQuery's $.ready() how to call a function when the page/dom is ready for it .

关于Javascript DOMContentLoaded 事件未在 Internet Explorer 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24904010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com