在实际的开发过程中遇到当调用javascript中window.close()
方法时,IE会在页面关闭前询问用户是否要关闭的二次确认对话框。为了避免这个问题,需要在调用window
对象的close
方法前做一些处理
针对IE的不同版本,处理方式是不同的。因此在处理之前应先判断IE浏览器的版本。
浏览器及其版本的判断可以使用jQuery1.9版本之前的$.browser方法或者使用javascript检测浏览器版本中提到的方式检测,这里不在赘述直接给出相关代码。
IE7及其以上版本
if(isMinIE7||isMinIE8){ // IE7以上
window.open('','_top');
window.top.close();
return ;
}
IE6及其以下版本
if(isMinIE6){//IE6
window.opener=null;
window.close();
return ;
}
Chrome,Safari和Firefox
window.close();
Notes: 针对FireFox浏览器时,除了使用
window.close()
,为了达到直接关节而无需提示的效果都需要在FireFox的地址栏中输入about:config
,然后将dom.allow_script_to_close_windows
改为true
才能达到想要的效果。