我目前有一个在沙盒iframe中打开的窗口,其中包含以下属性:allow-forms allow-modals allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts
(注意:allow-popups和allow-popups-to-escape-sandbox都已声明)
我可以从这个iframe中的链接打开一个新窗口(让我们称之为这个窗口A)。窗口A能够按预期执行javascript,并且能够打开一个新的子窗口(通过window.open
) - 让我们调用这个子窗口B.
不幸的是,当Window A尝试通过从window.open生成的句柄调用close()
来关闭Window B时,我收到以下错误:
不安全的JavaScript尝试使用URL启动框架导航 '[窗口B]' 来自带框架的框架 '[窗口A]'。框架 尝试导航是沙箱,因此不允许 导航它的祖先。
这是否意味着尽管从设置了allow-popups-to-escape-sandbox
的iframe打开了窗口A,但它仍然以某种方式进行了沙盒化?我怎么能关闭Window B?请指教。
谢谢!