【问题标题】:Does mutation observers support iframe documents when added to the main html document?添加到主 html 文档时,突变观察者是否支持 iframe 文档?
【发布时间】:2017-08-02 13:49:48
【问题描述】:

我无法让突变观察者处理 iframe 中的文档。我的主文档包含多个与主文档具有相同来源的 iframe。我已经在主文档上添加了突变观察者,但是当 iframe 中的文档发生 dom 更改时,突变观察者不会触发。当我为主文档中的每个 iframe 显式地将突变观察者添加到每个文档时,它就会触发。

因此我想知道当突变观察者添加到承载 iframe 的主 html 文档时,突变观察者是否可以使用 iframe 监视对文档 dom 所做的更改?请帮忙

【问题讨论】:

  • iframe 在iframe.contentDocument 中具有不同的document,因此自然不会传播更改。
  • 谢谢。知道了。因此,除非我们明确地将突变观察者附加到它,否则永远不会捕获 iframe 文档中的更改。

标签: javascript html dom iframe mutation-observers


【解决方案1】:

MutationObserver 仅链接到父文档,因此不会捕获 iframe 内部的任何更改。

如果您有 iframe 信息,请将事件侦听器添加到每个 iframe 中,或者只查找主文档中的所有子项以及它们的事件侦听器。

我在浏览器扩展中使用它,所以我只需要添加 "all_frames" : true 在内容脚本中,这负责添加完整的脚本标签,因此事件监听器也将添加到这里

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 2021-02-08
    • 1970-01-01
    相关资源
    最近更新 更多