【发布时间】:2025-11-28 20:35:01
【问题描述】:
(交叉发布here)
嗨,
我有一个沙盒页面(在我的清单中指定),它被加载到我的扩展程序背景页面的 iframe 中。在我的沙盒页面中,我想打开一个新窗口并写入它,即:
var win = window.open(); win.document.write('
');
这适用于我的扩展程序的背景页面和常规网页,但是当从内容脚本或我的沙盒页面调用时,窗口会打开,但我无法访问 win 对象(它已定义,但为空---控制台。日志输出“窗口 {}”)。
我认为这是由于同源策略(在沙盒环境中每个窗口都被赋予一个 uinque-origin)。但是,由于窗口打开了 about:blank 页面,我很困惑为什么这很重要。
这是一个功能吗?我可以在清单中添加一个参数来避免这种情况吗?有没有人知道不涉及使用 postMessage 返回我的背景页面的解决方法?我理想的解决方案是让我的沙盒脚本打开一个新窗口并直接与之交互,而不是通过消息传递。
如有必要,我可以提供一个完整的示例,但我希望有人可能会立即知道。如果有帮助,我在 Mac 上运行 Chrome 24.0.1312.57,在 Ubuntu 上运行 24.0.1312.68。
谢谢,
汉克
【问题讨论】: