gpt4 book ai didi

javascript - 基于 gecko 的浏览器的 document.readyState 模拟

转载 作者:搜寻专家 更新时间:2023-11-01 04:12:00 25 4
gpt4 key购买 nike

IE在文档对象中有属性readyState,表示当前状态,例如“正在加载”、“完成”等

有什么方法可以在基于 Mozilla 的浏览器中找到文档的当前加载状态?我知道 DOMContentLoaded 事件,但它不适合我的情况,因为我的代码可以在触发此事件后执行。

补充:不,我不能使用任何框架,不要与 XHR 对象的 .readyState 属性混淆。它是一个小书签,因此可以在任何加载阶段插入。

后来补充:反正对我来说看起来问题不大。因为这个属性will be added in FF3.6 ,并且当您操作未完成的 DOM ( unlike IE ) 时,它不会严重破坏 Firefox 中的内容。

最佳答案

不,这不可能。对不起。但这是您可以做的。如果您无法在行动前测试您想要的东西:

window.setTimeout(function () {
// do your stuff here
}, 0);

(这肯定会在页面呈现之后执行,但可能是在加载之后,而不是在 DOMContentLoaded 之后。)

如果您确实知道如何测试您正在寻找的内容:

(function () {
if (/* test if what you're looking for is there */) {
// do your stuff
} else {
window.setTimeout(arguments.callee, 0);
}
})();

这将立即执行,除非您要查找的内容不存在,在这种情况下它将等到 onload 事件之后。

编辑:

Check out this solution.

它所做的是,在边缘情况下,检查 document.getElementsByTagName("*") 的最后一个元素是否未定义。这似乎对他有用,即使在 Opera 中也是如此。

关于javascript - 基于 gecko 的浏览器的 document.readyState 模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1526544/

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