(交叉贴here)打开和写入到一个新的窗口
嗨,
我有一个沙箱页面(在我的清单中指定的),它加载到一个iframe中我的分机的背景页面。从我的沙盒页面中,我想打开一个新窗口并写入它,即:
var win = window.open(); win.document.write('< p & gtHello!</p >');
这适用于我的扩展的后台页面和常规网页,但是当从内容脚本或我的沙盒页面调用时,窗口会打开,但我无法访问win对象(已定义,但为空)--- console .log输出“窗口{}”)。
我认为这是由于同源策略(每个窗口在沙箱环境内都被赋予一个uinque源)。然而,由于窗口打开about:空白页面,我很困惑为什么这会很重要。
这是功能吗?有没有一个参数可以添加到我的清单中以避免这种情况?有没有人知道不涉及使用postMessage回到我的背景页面的解决方法?我的理想解决方案是让我的沙盒脚本打开一个新窗口并直接与它交互,而不是通过消息传递。
我可以提供一个完整的例子,如果有必要,但我希望有人可能只是知道他们的头顶。如果有帮助,我在Mac上运行Chrome 24.0.1312.57,在Ubuntu上运行24.0.1312.68。
感谢,
汉克
我的意思是, ,如果你写一个网页,完全忽略扩展es'var win = window.open(); win.document.write('<p> Hello!</p >')',它按预期工作。但是,从我的扩展中的沙箱内,情况并非如此。在我的交叉帖子后面,来自chrome团队的人证实了这个问题,即从沙箱打开的任何窗口都有唯一的来源。 – Hank 2013-02-16 16:24:31