谷歌浏览器禁止window.close的问题

当一个窗口不是通过window.open或者window.showModalDialog打开的时候,调用JS的window.close()

谷歌浏览器会提示如下警告,并拒绝执行

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

 

解决方法:(此方法无效

function closeWindow(){    
    var browserName=navigator.appName;    
    alert(browserName);    
    if (browserName=="Netscape") {    
        window.open('','_self','');    
        window.close();     
    } else {    
                window.close();    
    }  
}      

 

如果找到真正有用的我到时再更新,如果你们有解决方案,可以在下面评论。

 

20161201编辑

在chrome下这个问题由于安全校验的问题,基本无解,可以通过将浏览器的地址replace一个空白地址来替代

代码大概如下:

function closeWindow(){
    var browserName=navigator.appName;
    if (browserName=="Netscape") {
        location.replace("about:blank");
    } else {    
        window.close();
    }
}

 

posted @ 2015-08-04 10:43  自行车上的程序员  阅读(6330)  评论(0编辑  收藏  举报