gpt4 book ai didi

javascript - 跨浏览器 Dom 就绪

转载 作者:行者123 更新时间:2023-12-02 23:39:24 29 4
gpt4 key购买 nike

我继承了这段代码,它似乎不是最优的,而且可能不正确,因为它在窗口和文档对象上添加了事件监听器。但是,除黑莓5.0外,它都可以正常工作。有人可以解释一下所有这些设置是否正确,或者是否有任何建议可以使其更好和/或更简化?

        if (document.readyState === "complete") 
callback();
else if (document.addEventListener)
{
document.addEventListener("DOMContentLoaded",callback,false);
window.addEventListener("load",callback,false);
}
else if(window.attachEvent)
{
document.attachEvent("onreadystatechange", callback);
window.attachEvent("onLoad",callback);
} else
setTimeout(callback,2000);

最佳答案

如果您想知道它是如何完成的或了解实现它的方法。我建议您看看迭戈·佩里尼 (Diego Perini) 的作品。他的工作和方法被用于许多 DOM 库,包括 jQuery。不幸的是,这家伙似乎没有得到太多的信任。他是 try/catch 轮询方法的先驱者,这使得当 IE 加入其中时跨浏览器 dom 加载事件成为可能。

https://github.com/dperini/ContentLoaded/blob/master/src/contentloaded.js

关于javascript - 跨浏览器 Dom 就绪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6902280/

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