【问题标题】:Event which triggers before DOMContentLoaded在 DOMContentLoaded 之前触发的事件
【发布时间】:2011-10-12 19:01:15
【问题描述】:

在我的 Firefox 扩展中,我使用 DOMContentLoaded 来检测页面加载并插入我的 HTML。是否有在此之前触发的事件并且当时文档仍然可用?

【问题讨论】:

    标签: javascript firefox firefox-addon xul


    【解决方案1】:

    注意:这个答案是指基于 XUL 的扩展。从 Firefox 57 开始,该技术已过时。此处提到的功能不再可用于扩展。

    content-document-global-created notification 是在创建文档时发送的,在添加任何内容之前(准确地说,它发生在浏览器接收到响应的 HTTP 标头并知道它不是重定向等)。这是您可以获取文档的最早点。一旦 Gecko 完成下载文档的内容,就会触发 DOMContentLoaded 事件,这是您可以访问完整 DOM 的早期点。在这之间还有很多其他事件,例如很多progress listener events - 你使用哪一个取决于你想要做什么,没有一般的答案。

    【讨论】:

    • 我正在使用此通知。有用。但是这个通知也是为 iframe 生成的。如何确定通知是否来自 iframe?
    • @SelvarajMA:event.target.top == event.target 怎么样?
    • 我正在使用subject.parent.length == 0。这样可行。但是发送此通知时正文不可用。有什么解决方案。我尝试使用一个时钟,在收到此通知后每 10 毫秒检查一次身体的可用性。但这似乎不起作用。有什么解决办法吗?
    • @SelvarajMA:Wladimir 链接到的页面还提到了“document-element-inserted”,它在根元素插入 DOM 时触发。为什么你特别需要身体?
    • @SelvarajMA:document.documentElement.appendChild() 怎么样?
    猜你喜欢
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多