1、出现提示原因
Window.close() 方法关闭当前窗口或某个指定的窗口。
该方法只能由window.open()方法打开的窗口的window对象来调用。如果一个窗口不是由脚本打开的,那么,在调用该方法时,JavaScript 控制台会出现类似下面的错误:不能使用脚本关闭一个不是由脚本打开的窗口。 或Scripts may not close windows that were not opened by script.。
由于使用在新打开的窗口(手输入的窗口)window.close();导致浏览器出于安全考虑,无法使用该方法。只有通过Javascript打开的窗口才能使用该方法,如:window.open。具体可参考 MDN
2、解决方法
通过脚本执行一次窗口打开,再执行关闭方法
if(navigator.userAgent.indexOf("Firefox") !== -1 || navigator.userAgent.indexOf("Chrome") !== -1){
window.location.href = "about:blank";
window.close();
}else{
window.opener = null;
window.open("", "_self");
window.close();
}
3635

被折叠的 条评论
为什么被折叠?



