兼容IE5,6,7,8 谷歌,火狐的关闭窗口方法

废话不多说,现在需要一个程序能够关闭IE5,6,7,8和谷歌火狐的方法其主要目的是为了兼容性考虑; window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信...

废话不多说,现在需要一个程序能够关闭IE5,6,7,8和谷歌火狐的方法其主要目的是为了兼容性考虑;


window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,通过这个属性来判断浏览器类型,下面是我写的一个函数,这个函数返回一个包含浏览器名称和版本的数组。


此函数可区分ie5.5~ie8、Chrome、Opera、Safair、Firefox这5种常见浏览器。为了版本兼容性考虑先写出这个函数;

var browse=browser();
function browser (){
var ua=window.navigator.userAgent,
ret="";
if(/Firefox/g.test(ua)){
ua=ua.split(" ");
ret="Firefox|"+ua[ua.length-1].split("/")[1];
}else if(/MSIE/g.test(ua)){
ua=ua.split(";");
ret="IE|"+ua[1].split(" ")[2];
}else if(/Opera/g.test(ua)){
ua=ua.split(" ");
ret="Opera|"+ua[ua.length-1].split("/")[1];
}else if(/Chrome/g.test(ua)){
ua=ua.split(" ");
ret="Chrome|"+ua[ua.length-2].split("/")[1];
}else if(/^apple\s+/i.test(navigator.vendor)){
ua=ua.split(" ");
ret="Safair|"+ua[ua.length-2].split("/")[1];
}else{
ret="未知浏览器";
}
return ret.split("|");
}


页面上写一个简单的关闭元素


<a href="javascript:closewin();">关闭窗口</a>

下面到我们的重头戏了,关闭窗口的代码来了


function closewin(){
var browserName=navigator.appName; //获取浏览器名称
alert(browserName);
if (browserName=="Netscape") {   //兼容火狐谷歌
var opened=window.open('about:blank','_self');
opened.opener=null;
opened.close();
}else if(browserName=="Microsoft Internet Explorer"){   //兼容IE
if(browse[1]<=6.0){
window.opener=null;
window.close();
}
if(browse[1]==7.0){
window.open('','_top');
window.top.close();
}
if(browse[1]>7.0){
window.opener=null;
window.open('','_self');
window.close();
}
}
}


这里要说一下 browserName=navigator.appName; //获取浏览器名称这里为什么谷歌的也是Netscape,这里主要是为了W3c的规范,也有人说是为了怀恋一下Netscape这个公司比较他们对浏览器做出了很大的贡献;



附录:

refox下无法关闭可能原因:

不是JS代码window.close()的问题,而是Firefox的配置问题,解决方法如下:

在Firefox地址栏里输入 about:config 

在配置列表中找到 dom.allow_scripts_to_close_windows 

点右键的选切换把上面的false修改为true即可。 

注:默认是false,是为了防止脚本乱关窗口 

另附代码: 
window.opener = null;//为了不出现提示框 
window.close();//关闭窗口

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
王凯
王凯

92 篇文章

作家榜 »

  1. admin 651 文章
  2. 粪斗 185 文章
  3. 王凯 92 文章
  4. 廖雪 78 文章
  5. 牟雪峰 12 文章
  6. 李沁雪 9 文章
  7. 全易 2 文章
  8. bngvitmrbj 0 文章