内容脚本未在另一个扩展程序页面中的iframe中运行

时间:2016-03-10 17:08:59

标签: javascript iframe google-chrome-extension

假设Google Chrome中安装了2个扩展程序。

第一个扩展在w3.org上运行content.js:

的manifest.json:

"content_scripts": [{
    "matches": [ "https://www.w3.org/*" ],
    "all_frames": true,
    "js": [ "content.js" ]
}]

content.js:

alert('content');

第二个扩展程序有page.html,它将w3.org加载到iframe:

的manifest.json:

"web_accessible_resources": ["page.html"]

page.html中:

<!DOCTYPE html>
<iframe src="https://www.w3.org/"></iframe>

现在输入地址栏chrome-extension://2nd-extension-id/page.html。你会看到w3.com,但是content.js没有运行(没有alert()窗口)。我没有在控制台中看到错误。

问题是:如何允许内容脚本在此iframe中运行?

我创建了Chrome issue。状态:WontFix,不幸的是。但是这可以在将来改变......

1 个答案:

答案 0 :(得分:-1)

您不能使用扩展程序,但可以在Google Apps中执行类似操作: 您可以使用webview代替iframe。因此,您可以通过executeScript方法注入脚本。