兼容所有浏览器的js关闭当前网页代码

文章来源:


文章一:

关于 IE firefox Chrome下的通过用js 关闭窗口的一些问题

http://www.cnblogs.com/caichongdd/archive/2012/11/27/2791050.html

首先IE是可以通过window.close()来关闭浏览器窗口的,但是在firefox和Chrome下是无效的,原因在于:

Firefox下默认设置是无法通过脚本来关闭浏览器窗口的,为的是防止恶意脚本注入,

所以调整的方式就是在url地址栏中输入about:config,

然后在配置列表中找到 dom.allow_scripts_to_close_windows 
点右键的选切换把上面的false修改为true即可。 默认是false

 

chrome下的默认是不支持这种关闭方式的,但是也可以通过一些特殊的手段进行关闭:

window.opener=null;
window.open('','_self');
window.close();

创建窗口父元素无,同时将窗口指向自身,同时关闭自身,最后才可以关闭,其实有点类似与用脚本打开了当前页面,再用脚本关闭当前页面,而这种方式在W3C中是被认同的!


==========================================================================================

文章二:

js关闭当前页面/关闭当前窗口(兼容所有浏览器)

http://www.111cn.net/wy/js-ajax/50225.htm

分析情况:

我们在js中判断能力窗口或页面都离不开window.close()函数了,但是如果要做到兼容所有浏览器实现关闭当前窗口话并不是直接使用window.close()即可解决了。

windows自带的方法

window.close()

 代码如下复制代码

<a href="javascript:self.close()" >关闭窗口</a>

这办法问题很多,不兼容就不多介绍了,下面我们再看一个实例

window.close()就可以,不过它会出个提示“您查看的网页正在试图关闭窗口。是否关闭窗口?”,如何才能不弹出这个提示?
“如果你第一次打开这个网页,window.close()就会弹出提示,如果这个网页是由其它的网页window.open()出来的页面,window.close()时,就不会出现提示

窗口没有提示自动关闭的js代码

 代码如下复制代码


//普通带提示关闭
function closeie(){
window.close();
}
//关闭IE6不提示
function closeie6(){
window.opener=null;
window.close();
}
//关闭IE7不提示
function closeie7(){
window.open('','_top');
window.top.close();
}

但都在

ff下不起使用了,后来找到一个不错可兼容所有浏览器关闭当前页面函数

 代码如下复制代码

function CloseWebPage(){
 if (navigator.userAgent.indexOf("MSIE") > 0) {
  if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
   window.opener = null;
   window.close();
  } else {
   window.open('', '_top');
   window.top.close();
  }
 }
 else if (navigator.userAgent.indexOf("Firefox") > 0) {
  window.location.href = 'about:blank ';
 } else {
  window.opener = null;
  window.open('', '_self', '');
  window.close();
 }
}



==========================================================================================

文章三:

兼容所有浏览器的js关闭当前网页代码【经测试IE可以;chrome打开一个可以,多个不可以;FireFox是把当前页内容变成空白的,窗口不关闭】

http://shanmao.me/web/jian-rong-suo-lan-qi-de-js-guan-bi-dang-qian-wang-ye-dai-ma

function closeWebPage(){
 if (navigator.userAgent.indexOf("MSIE") > 0) {//close IE
  if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
   window.opener = null;
   window.close();
  } else {
   window.open('', '_top');
   window.top.close();
  }
 }
 else if (navigator.userAgent.indexOf("Firefox") > 0) {//close firefox
  window.location.href = 'about:blank ';
 } else {//close chrome;It is effective when it is only one.
  window.opener = null;
  window.open('', '_self');
  window.close();
 }
}

另:判断各浏览器js代码:

     <script language= "JavaScript" >   
         <!--   
    function getOs()   
{      
    if (navigator.userAgent.indexOf( "MSIE" )>0) {   
         return "MSIE" ;   
    }   
    if (navigator.userAgent.indexOf( "Firefox" )>0){   
         return "Firefox" ;   
    }   
    if (navigator.userAgent.indexOf( "Chrome" )>0) {   
         return "Chrome" ;   
    }    
    if (navigator.userAgent.indexOf( "Camino" )>0){   
         return "Camino" ;   
    }   
    if (navigator.userAgent.indexOf( "Gecko/" )>0){   
         return "Gecko" ;   
    }   
        
      alert( "您的浏览器类型为:" +getOs());   
         -->   
     </script>   

==========================================================================================





  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值