关于技术您现在的位置是:首页 > 关于技术

js判断浏览器类型,及IE的具体版本

头像 2019-09-12 15:47:20 , 13 人已围观 0 条评论

简介

使用场景 有时候我们在处理一些浏览器兼容性问题的时候,就需要获取所使用浏览器的类型; 网上有好多判断方法,但随 […]

使用场景

有时候我们在处理一些浏览器兼容性问题的时候,就需要获取所使用浏览器的类型;

网上有好多判断方法,但随着浏览器版本的升级,有些判断方法已经过时,通过网上查询整理了当前常用浏览器的判断方法:

(包括IE11及Edge浏览器)

解决方法

function BrowserType(flag) { 
  var userAgent = navigator.userAgent;  //取得浏览器的userAgent字符串 
  var isOpera = userAgent.indexOf("Opera") > -1;  //判断是否Opera浏览器 
  var isIE = !!window.ActiveXObject || "ActiveXObject" in window;  //判断是否IE浏览器 
  var isEdge = userAgent.indexOf("Edge") > -1;  //判断是否IE的Edge浏览器
  var isFF = userAgent.indexOf("Firefox") > -1;  //判断是否Firefox浏览器 
  var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1;  //判断是否Safari浏览器 
  var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1 && !isEdge;  //判断Chrome浏览器 
  if (isIE) { 
    if (flag == true) { // 判断IE浏览器版本
      var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); 
      reIE.test(userAgent); 
      var fIEVersion = parseFloat(RegExp["$1"]); 
      if(userAgent.indexOf('MSIE 6.0')!=-1) {
        return "IE6";
      } else if(fIEVersion == 7) { 
        return "IE7";
      } else if(fIEVersion == 8) { 
        return "IE8";
      } else if(fIEVersion == 9) { 
        return "IE9";
      } else if(fIEVersion == 10) { 
        return "IE10";
      } else if(userAgent.toLowerCase().match(/rv:([\d.]+)\) like gecko/)) { 
        return "IE11";
      } else { 
        return "较低版本的IE"; 
      }
    } else { // 仅判断浏览器类型
      return "IE"; 
    }
  }
    
  if (isFF) { return "Firefox";} 
  if (isOpera) { return "Opera";} 
  if (isSafari) { return "Safari";} 
  if (isChrome) { return "Chrome";} 
  if (isEdge) { return "Edge";} 
}

函数调用

执行函数 BrowserType() 返回浏览器类型;

如果想获取IE浏览器版本信息,调用函数 BrowserType(true) ,加上参数true即可,IE浏览器将返回版本信息。

我们,加油!

文章评论


  • 0 条评论来说两句吧…  (* 为必填项,邮箱不会公开)

  •  *
  •  *
  • 提交评论

最停留-个人博客

友情推荐

  • 微信公众号:扫描加关注
  • 最停留-微信公众号