gpt4 book ai didi

javascript - 前 3 名浏览器中的早期 appendChild hell

转载 作者:行者123 更新时间:2023-11-29 10:54:24 25 4
gpt4 key购买 nike

我正在尝试延迟加载 javascript,但我无法让它可靠地工作。我的页面加载速度非常快,我想保持这种状态,所以我不会使用超时来延迟加载。除了 document.readyState,我如何确保 DOM 真正准备好修改?

方法一:

  1. poll readyState

  2. createElement script

  3. src = url

  4. appendElement to head

结果:

IE8: always aborts

FF3: loads first time, aborts every other

Chrome: loads first time, aborts every other

方法二:(lazyload包含在head标签中)

  1. load with lazyload

结果:

IE8: always aborts

FF3: works

Chrome: loads first time, aborts every other

最佳答案

如果你把你的 <script> </body> 正上方的标签标签,你可以用 DOM 做大部分事情而不会引发任何错误,即任何高于 <script> 的事情。标记通常可供修改。

但是,如果您正在寻找一个更健壮的解决方案,您可能会通过检查主要库如何检测 DOM 是否准备就绪来取得一些进展,这里是初学者 (jQuery):http://github.com/jquery/jquery/blob/master/src/core.js#L393

关于javascript - 前 3 名浏览器中的早期 appendChild hell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3382612/

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