doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:5321回复:0

[前端]Javascript:window.close()不起作用?

楼主#
更多 发布于:2020-07-21 14:55
一般的窗口关闭的JS如下写法:
 
window.close()
但是呢,chrome,firefox等中有时候会不起作用。
改为下面的写法:
  
window.open("about:blank","_self").close()   
 //  或者
window.open("","_self").close()
如果是frame的时候如下写法:

   一般:window.top.close()
   改善:window.open("about:blank","_top").close()   或者 window.open("","_top").close()

其他比如window.parent.close()也是可以用类似的方法
如果关闭按钮既可能是单独的画面,也可能是frame的一部分的时候,可以用下面的写法对应。

function closeWin() {
   try {
       window.opener = window;
       var win = window.open("","_self");
       win.close();
       //frame的时候
       top.close();
   } catch (e) {
   }
}

下面是网上比较受欢迎的文章:
function logout(){
        if(confirm("确定要退出吗?")){
                 var browserName=navigator.appName;
                 if (browserName=="Netscape"){
                       window.open('', '_self', '');
                       window.close();
                 }
                 if (browserName=="Microsoft Internet Explorer") {
                       window.parent.opener = "whocares";
                       window.parent.close();
                 }
        }
}

FireFox需要设置:
在Firefox地址栏里输入 about:config
在配置列表中找到 dom.allow_scripts_to_close_windows
点右键的选切换把上面的false修改为true即可。
注:默认是false,是为了防止脚本乱关窗口

转自:https://www.cnblogs.com/muhy/p/10654546.html?from=singlemessage
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号