1

我是 Chrome 扩展程序开发人员,我的扩展程序有一个问题:当我创建一个元素时

child = document.createElement('div');

并将此元素添加到页面正文:

window.document.body.appendChild(child);

对于包含多个 iFrame 的页面,此子项会出现在页面中的每个 iFrame 中。

如何强制此元素仅出现在主窗口中,而不是所有 iframe 中?

谢谢。

4

1 回答 1

1

您能否在清单中将“all_frames”值设置为 false并检查(意味着仅匹配顶部帧。)

"content_scripts": [
    {
      .....
      "all_frames":false
      .....
    }
  ],

参考:

内容脚本清单

编辑1:

将您的内容脚本代码分成两部分,其中

"content_scripts": [
    {
      "matches": [".."],
      "all_frames":true,
      "js": ["myscript_iframes.js"]
    },
    {
      "matches": [".."],
      "all_frames":false,
      "js": ["myscript_noIframes.js"]
    }
  ],

myscript_iframes.js具有从所有框架读取内容的myscript_noIframes.js代码,并具有将子级附加到主框架的代码。

于 2012-12-31T01:02:24.583 回答