无法用window.close()关闭

本文探讨了使用window.close()关闭当前页面时遇到的问题,并提供了两种有效的解决方案。第一种方法涉及设置self.opener为null然后关闭窗口;第二种方法则是通过先加载一个空白页再关闭。文章最终解释了window.close()只能关闭由window.open()打开的窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

无法用window.close()关闭

今天做项目里面有个关闭当前页面功能,于是在脚本了里写了一个方法:

function close_page(){
if(confirm(“您确定要关闭本页吗?”)){
window.opener=null;
window.open(’’,’_self’);
window.close();
}

}

浏览器却报了警告提示:Scripts may close only the windows that were opened by it,不能关闭页面,找了度娘,搜到的解决方案有:
1、
self.opener=null;
self.close();
2、
window.location.href=“about:blank”;
window.close();
第1个方法也跟开始写的方法一样。
第2个方法其实是以打开一个新的空白页为代价的,且也会提示如下警告信息:
Scripts may close only the windows that were opened by it.
经过一番折腾。终于明白了问题所在:
window.close() and self.close() 是不能关闭非弹出窗口(opener=null及非window.open()打开的窗口)

希望大家有什么好的建议可以留言一下!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值