我想知道在新版本的JavaScript中我是否有可能(我使用React ES6,如果因为这些因素),窗口中的脚本有window.opener
window.opener !== null
哪里没有首先使用open()
命令通过相同的脚本打开?这是一个令人困惑的问题,所以让我试着澄清一下。
我目前在我的JS应用程序(在Chrome中运行)中遇到一个控制台错误:Scripts may not close windows that were not opened by script.
我已经看到很多关于SO详细说明在窗口上使用window.close()
的解决方法的问题目前的剧本没有打开,但这不是我的问题。我的代码是:
if (window.opener) {
window.close();
} else {
// do something else
}
据我所知, window.close()
是唯一可以生成此浏览器错误的函数Scripts may not close windows that were not opened by script.
但我也会想到如果有{{1}的非空引用我正在运行的同一个脚本必须是当前窗口的开启者。那么,window.opener
怎么会出错,说这个脚本没有打开窗口,但是window.close()
引用是非空的?