Javascript Chrome扩展:访问background.html中的跨源iframe

Javascript Chrome扩展:访问background.html中的跨源iframe,javascript,google-chrome,iframe,google-chrome-extension,Javascript,Google Chrome,Iframe,Google Chrome Extension,由于页面的复杂性(XHR不是一个真正的选项),我正在尝试编写一个扩展来删除需要作为网页加载的站点。我提出的最好的解决方案是通过background.html中的iframe进行抓取。当满足目标页面上的某些条件时,扩展将向用户提供通知 几年前,这里发布了一个非常类似的问题: 正如在对上述问题的回答中所建议的那样,我能够通过在后台页面中加载带有目标页面的iframe。当页面加载到浏览器选项卡/窗口中时,我可以通过内容脚本刮取数据。但是,我希望能够从后台脚本执行此操作,当然,由于跨源安全性,它无法直

由于页面的复杂性(XHR不是一个真正的选项),我正在尝试编写一个扩展来删除需要作为网页加载的站点。我提出的最好的解决方案是通过background.html中的iframe进行抓取。当满足目标页面上的某些条件时,扩展将向用户提供通知

几年前,这里发布了一个非常类似的问题:

正如在对上述问题的回答中所建议的那样,我能够通过在后台页面中加载带有目标页面的iframe。当页面加载到浏览器选项卡/窗口中时,我可以通过内容脚本刮取数据。但是,我希望能够从后台脚本执行此操作,当然,由于跨源安全性,它无法直接访问iframe contentDocument

不幸的是,尽管iframe可以从目标页面加载内容,但它没有加载内容脚本。似乎background.html根本不会加载任何内容脚本。这是有道理的,因为当扩展开始加载彼此的内容脚本时,事情可能会变得疯狂

是否存在允许特定内容脚本在后台页面的iframe中运行的清单选项

如果没有,是否有办法放松扩展中的跨源安全性以访问iframe contentDocument

请注意,使用--disable web security chrome命令行开关不是一个选项。我希望非技术人员能够使用该扩展,我不希望要求用户禁用web安全性才能使用它


如果没有任何方法可以在后台页面中运行内容脚本或放松安全性,那么在不使用XHR的情况下使用chrome扩展删除页面DOM还有什么其他可能性?当然一定有办法。

在内容脚本声明中使用
“all_frames”:true
,有关完整示例,请参阅。看起来应该这样做了。谢谢@GeekLad你有没有一个例子说明你是如何在GitHub或其他地方做到这一点的?我还试图从后台iframe中获取contentDocument。听起来你可以用内容脚本来完成它。@GreekLad你成功了吗?