当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JS如何判断浏览器类型和详细区分IE各版本浏览器

JS如何判断浏览器类型和详细区分IE各版本浏览器

2019年03月22日  | 移动技术网IT编程  | 我要评论

今天用到js判断浏览器类型,于是就系统整理了一下,便于后期使用。

 /* 
  * 描述:判断浏览器信息 
  * 编写:littleqiang_w 
  * 日期:2016.1.5 
  * 版本:v1.1 
  */ 
 
 //判断当前浏览类型 
 function browsertype() 
 { 
   var useragent = navigator.useragent; //取得浏览器的useragent字符串 
   var isopera = useragent.indexof("opera") > -1; //判断是否opera浏览器 
   var isie = useragent.indexof("compatible") > -1 && useragent.indexof("msie") > -1 && !isopera; //判断是否ie浏览器 
   var isedge = useragent.indexof("windows nt 6.1; trident/7.0;") > -1 && !isie; //判断是否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; //判断chrome浏览器 
 
   if (isie)  
   { 
      var reie = new regexp("msie (\\d+\\.\\d+);"); 
      reie.test(useragent); 
      var fieversion = parsefloat(regexp["$1"]); 
      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(fieversion == 11) 
      { return "ie11";} 
      else 
      { return "0"}//ie版本过低 
    }//isie end 
     
    if (isff) { return "ff";} 
    if (isopera) { return "opera";} 
    if (issafari) { return "safari";} 
    if (ischrome) { return "chrome";} 
    if (isedge) { return "edge";} 
  }//mybrowser() end 
   
  //判断是否是ie浏览器 
  function isie() 
  { 
   var useragent = navigator.useragent; //取得浏览器的useragent字符串 
   var isie = useragent.indexof("compatible") > -1 && useragent.indexof("msie") > -1 && !isopera; //判断是否ie浏览器 
   if(isie) 
   { 
     return "1"; 
   } 
   else 
   { 
     return "-1"; 
   } 
  } 
   
   
  //判断是否是ie浏览器,包括edge浏览器 
  function ieversion() 
  { 
   var useragent = navigator.useragent; //取得浏览器的useragent字符串 
   var isie = useragent.indexof("compatible") > -1 && useragent.indexof("msie") > -1 && !isopera; //判断是否ie浏览器 
var isedge = useragent.indexof("windows nt 6.1; trident/7.0;") > -1 && !isie; //判断是否ie的edge浏览器 
   if(isie) 
   { 
      var reie = new regexp("msie (\\d+\\.\\d+);"); 
      reie.test(useragent); 
      var fieversion = parsefloat(regexp["$1"]); 
      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(fieversion == 11) 
      { return "ie11";} 
      else 
      { return "0"}//ie版本过低 
   } 
else if(isedge) 
{ 
  return "edge"; 
} 
   else 
   { 
     return "-1";//非ie 
   } 
  } 

以上代码通过测试,可用!

但存在一个问题,即ie5与ie7浏览器暂不能区分,以下是ie5与ie7下useragent的信息;通过useragent发现,简单的通过以上方法,无法正确区分ie5和ie7。期待该问题的解决方案!!!

ie5: useragent   "mozilla/4.0 (compatible; msie 7.0; windows nt 6.1; trident/7.0; slcc2; .net clr 2.0.50727; .net clr 3.5.30729; .net clr 3.0.30729; media center pc 6.0; .net4.0c; infopath.2; .net4.0e)"

ie7: useragent  "mozilla/4.0 (compatible; msie 7.0; windows nt 6.1; trident/7.0; slcc2; .net clr 2.0.50727; .net clr 3.5.30729; .net clr 3.0.30729; media center pc 6.0; .net4.0c; infopath.2; .net4.0e)"

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网