Scripts may close only the windows that were opened by them.

该文章已生成可运行项目,

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();
}
本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值