问题描述:
在Chrome浏览器中调用window.close()关闭当前页面时浏览器控制台报出 “Scripts may close only the windows that were opened by them.” 且无法关闭当前页面。
原因:
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/close
文章里说,close只能关闭用在JS脚本里用open方法打开的窗口。因此下面的代码有效。
var win = window.open("https://www.oschina.net");
win.close();
或者说在窗口A执行代码
window.open("http://example.com")
然后在新创建的example.com窗口执行下面的代码也可以关闭。
window.close()
解决办法:
- 在当前页面自身通过 window.open() 方法打开一个一个空白页面
- 调用 window.close() 关闭
window.open("about:blank","_self")
window.close();
总结:
真实让人头大!