【发布时间】:2015-07-15 14:24:56
【问题描述】:
我正在创建一个 chrome 扩展来补充我的 web 应用程序。长话短说,它在内容脚本中创建了一个 iframe,用于托管我之前创建的网站。 iframe 使用 chrome 扩展在本地加载。
它是 iframe 的原因是,与使用浏览器操作制作弹出窗口相反,我试图使其看起来像 gmail 中的面板/模式。这是它的外观示例
现在谈到实际问题,我正在尝试在 iframe 内执行一个操作,该操作在 iframe 的父窗口上运行。例如window.parent.someMethod()。但是,每次我尝试都会收到此错误:
Uncaught DOMException: Blocked a frame with origin
"chrome-extension://dcihnokebmondckijoccdhbhcpkonfid" from accessing a
cross-origin frame.(anonymous function)
我知道这与 chrome-extensions 中的安全性有关,为了缓解这个问题,我将清单中的 content_security_policy 设置为 script-src 'self' 'unsafe-eval'; object-src 'self';。这并没有解决我的问题。
总结:我正在寻找 chrome 扩展 api 内的解决方案,以允许我的 iframe 访问它的父窗口。
【问题讨论】:
标签: javascript iframe google-chrome-extension