如何在chrome扩展程序中访问popup.html中的iframe

时间:2016-02-27 18:20:00

标签: javascript html google-chrome iframe

我有一个Chrome扩展程序,可以通过其中的iframe popup.html打开网页

我需要做的是检测用户浏览iframe中的某些网址,然后将这些网址作为新标签打开。

我试图访问iframe的.location,但不幸的是在“chrome-extensions”和“http”之间遇到了政策问题

我一直在研究,我看到很多关于使用内容脚本的注释,但我真的不明白它们是如何完全工作的。大多数示例都试图将代码注入浏览器本身的当前页面,因此我认为它们不适用。内容脚本是我需要的吗?

任何帮助都会有所帮助。

2 个答案:

答案 0 :(得分:0)

这是不可能的,因为chrome-extension弹出窗口是不同的域名网站,您无法在您的网站内访问它。

答案 1 :(得分:0)

我一直在努力做同样的事情,我在SO上找到this回答。这对我有用,也可能适用于我们的情况。如果链接可能在将来停止工作,我在这里复制他的答案:

"content_scripts": [{
    "matches": ["http://*/*", "https://*/*"],
    "js": ["content_frame.js"],
    "all_frames": true
}],


通过将all_frames设置为true,您会将content_frame.js javascript文件注入/包含在顶级文档和所有iframe中。如果您只需要在iframe中注入javascript但不在顶级文档中注入,则可以在content_frame.js文件中查看如下:

if (parent === top) {
    // here you can put your code that will run only inside iframe
}