Rumah > hujung hadapan web > tutorial js > JS判断浏览器类型及版本实例详解

JS判断浏览器类型及版本实例详解

零下一度
Lepaskan: 2017-06-28 14:48:03
asal
1717 orang telah melayarinya

[javascript] view plain copy

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

[javascript] view plain copy

  /* 

   * 描述:判断浏览器信息 

   * 编写: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)"

Atas ialah kandungan terperinci JS判断浏览器类型及版本实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan