window.close失效问题

 我来答
濒危物种1718
2022-06-26 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7333
采纳率:100%
帮助的人:55.8万
展开全部

场景:
在实际业务场景中,我们可能会遇到,想要使用js来关闭当前窗口;
通常我们是使用 window.close() 方法来进行操作;
但有时候我们会遇到无法关闭的情况,并且控制台还给出以下警告:

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

查看了相关的原因是因为,浏览器有相关规定:
只有通过 window.open(url) 打开的窗口,才能够由 window.close() 关闭,为的是阻止恶意的脚本终止用户的浏览器;

我们可能会遇到以下问题不能 使用 window.close 关闭:

1、a标签打开;
IE将会弹出确认窗口;
window.opener = null;//禁止某些浏览器的一些弹窗
window.open('','_self');
window.close();

2、window.open('xxx','_self');
IE支持该方法;
chrome、firefox测试后暂不支持;

3、window.location.href;
IE将会弹出确认窗口;

正确的使用方法是:
1、使用 window.open(url) 打开窗口;
2、使用 window.close() 来关闭窗口;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式