是否可以在google-chrome扩展程序的background.html页面上创建iframe并让它向网站发出请求?我不确定扩展是如何工作的。 chrome会自动忽略所有显示标签还是会无形地运行它?
答案 0 :(得分:5)
它会加载iframe,但我认为由于同源限制而无法读取iframe中的任何内容。例如,此后台脚本失败:
<body>
<script>
var iframe = document.body.appendChild(document.createElement('iframe'));
iframe.src = 'http://www.google.com';
iframe.onload = function() {
console.log(iframe.contentDocument.innerHTML);
};
</script>
有错误:“不安全的JavaScript尝试使用URL chrome-extension://elbpnmnjddamdmjmdnmhankaimaldhmf/background.html从框架访问带有网址http://www.google.com/的框架。域,协议和端口必须匹配。”
答案 1 :(得分:2)
我的理解是,永远不会显示扩展的后台页面,但它应该按预期“运行”(例如src
标记的img
属性将导致获取图像数据) 。我是实施扩展的新手,但the architecture overview似乎暗示了这一点,我见过的样本也是如此。
您可以点击扩展程序控制面板中指向background.html的链接,然后检查来源/ dom /等。
答案 2 :(得分:0)
自我测试后:显然google-chrome会运行iframe。它只是不会显示它们。