DOMContentLoaded在访问几个网站时不会被触发.任何解决方案

DOMContentLoaded is not getting triggered while visiting few sites. Any workaround?

本文关键字:解决方案 任何 网站 访问 几个 DOMContentLoaded      更新时间:2023-09-26

我正在开发一个Firefox扩展。我的扩展需要得到通知时,一个页面完成加载。为了实现这一点,我使用DOMContentLoaded事件。这在大多数情况下都很有效。但是当访问一些网站(如nytimes.com)时,这个事件根本没有被触发。我不确定这些网站是否使用了一些特殊的脚本。

有什么解决方法吗?或者是否有更好的方法来实现我正在尝试做的事情?

DOMContentLoaded可能不是你需要的…

根据MDN

在解析文档时在页面的Document对象上触发完成了。当这个事件触发时,页面的DOM已经准备好了,但是引用的样式表、图像和子框架可能不会完成加载;使用"load"事件来检测一个完全加载的页面。

https://developer.mozilla.org/en/Gecko-Specific_DOM_Events

所以,有可能nytimes.com和其他网站使用框架或复杂的CSS,这就是为什么你没有得到正确的触发。

如上所述,"修复"是

使用"load"事件来检测一个完全加载的页面

相关文章: