当我试图通过Javascript的window.close()
方法关闭窗口时,当浏览器在控制台上显示以下消息时,我总是遇到问题:
"Scripts may close only the windows that were opened by it."
这发生在页面的每个部分。我可以直接运行链接、按钮或脚本,但总是显示此消息。
我尝试为下面的函数(或这些函数的变体)替换window.close();
方法,但没有再次发生任何事情:
window.open('', '_self', '');
window.close();
发布于 2014-09-19 23:17:36
我通过Google和Stack Overflow搜索了许多网页,但没有任何建议解决了我的问题。
经过多次尝试,我改变了测试该控制器的方式。然后我发现这个问题总是发生在我通过Chrome中的Ctrl + Shift + T
快捷方式重新打开页面的时候。因此,页面运行了,但没有父窗口引用,并且无法关闭。
发布于 2014-09-19 23:21:43
错误消息没有比这更清楚的了:
"Scripts may close only the windows that were opened by it."
如果您的脚本没有启动打开窗口(使用类似于window.open的内容),则不允许该窗口中的脚本关闭它。这是一种防止网站控制你的浏览器和关闭窗口的安全措施。
发布于 2014-09-19 23:33:10
您不能关闭当前窗口或使用'_self‘打开的任何窗口或页面,但您可以这样做
var customWindow = window.open('', '_blank', '');
customWindow.close();
https://stackoverflow.com/questions/25937212
复制相似问题