在我的Google Chrome扩展程序中,我需要能够将内容脚本注入页面上的所有IFRAME
。为此,我的原始manifest.json
被声明为:
"content_scripts": [
{
"run_at": "document_end",
"all_frames" : true,
"matches": ["http://*/*", "https://*/*"],
"js": ["content.js"]
}
],
这似乎适用于大多数网站,直到我遇到IFRAME
声明为此:
(来自Chrome调试器)
以及这里的HTML:
<iframe id="wysiwygtext_ifr" src='javascript:""' frameborder="0" allowtransparency="true" title="Rich Text Area." style="width: 100%; height: 341px; display: block;"></iframe>
在这种情况下,我的内容脚本不会注入IFRAME
。
我尝试将matches
过滤器更改为"matches": ["<all_urls>"]
,但仍未执行此操作。
有没有办法让我在IFRAME
中注入我的内容脚本?
答案 0 :(得分:6)
这正是为match_about_blank
标志创建的问题。它最终在Chrome 37中稳定发布。
只需将"match_about_blank": true
添加到内容脚本定义中即可。
您也可以在tabs.executeScript中使用它。参见: