是否有可能窗口保留window.opener引用而没有被window.open()打开?

时间:2016-12-17 00:06:43

标签: javascript browser window window.opener

我想知道在新版本的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()引用是非空的?

0 个答案:

没有答案