浏览器检测JS代码(兼容目前各大主流浏览器)

前端技术 2023/09/07 JavaScript

本文实例介绍了JS代码实现浏览器检测,分享给大家供大家参考,具体内容如下

var BrowserMatch = {
  init: function () {
    this.browser = this.getBrowser().browser || \"An Unknown Browser\";
    this.version = this.getBrowser().version || \"An Unknown Version\";
    this.OS = this.getOS() || \"An Unknown OS\";
  },
  getOS:function(){
    if(navigator.platform.indexOf(\"Win\")!= -1) return \"Windows\";
    if(navigator.platform.indexOf(\"Mac\")!= -1) return \"Mac\";
    if(navigator.platform.indexOf(\"Linux\")!= -1) return \"Linux\";
    if(navigator.userAgent.indexOf(\"iPhone\")!= -1) return \"iPhone/iPod\";
  },
  getBrowser:function () {
    var rMsie = /(msie\\s|trident\\/7)([\\w\\.]+)/;
    var rTrident = /(trident)\\/([\\w.]+)/;
    var rFirefox = /(firefox)\\/([\\w.]+)/; 
    var rOpera = /(opera).+version\\/([\\w.]+)/;
    var rNewOpera = /(opr)\\/(.+)/;
    var rChrome = /(chrome)\\/([\\w.]+)/;
    var rSafari = /version\\/([\\w.]+).*(safari)/;
    var ua = navigator.userAgent.toLowerCase();
    var matchBS,matchBS2;
    matchBS = rMsie.exec(ua);
    if (matchBS != null) {
      matchBS2 = rTrident.exec(ua);
      if (matchBS2 != null){
        switch (matchBS2[2]){
          case \"4.0\": return { browser : \"IE\", version : \"8\" };break;
          case \"5.0\": return { browser : \"IE\", version : \"9\" };break;
          case \"6.0\": return { browser : \"IE\", version : \"10\" };break;
          case \"7.0\": return { browser : \"IE\", version : \"11\" };break;
          default:return { browser : \"IE\", version : \"Undefined\" };
        }
      }else{
        return {browser : \"IE\", version : matchBS[2] || \"0\" };
      }
    }
    matchBS = rFirefox.exec(ua);  
    if ((matchBS != null)&&(!(window.attachEvent))&&(!(window.chrome))&&(!(window.opera))) {  
      return { browser : matchBS[1] || \"\", version : matchBS[2] || \"0\" };
    }
    matchBS = rOpera.exec(ua);         
    if ((matchBS != null)&&(!(window.attachEvent))) {     
      return { browser : matchBS[1] || \"\", version : matchBS[2] || \"0\" };
    }
    matchBS = rChrome.exec(ua);  
    if ((matchBS != null)&&(!!(window.chrome))&&(!(window.attachEvent))) {
      matchBS2 = rNewOpera.exec(ua);       
      if(matchBS2 == null){
        return { browser : matchBS[1] || \"\", version : matchBS[2] || \"0\" };
      }else{
        return { browser : \"Opera\", version : matchBS2[2] || \"0\" };
      }  
    }
    matchBS = rSafari.exec(ua);          
    if ((matchBS != null)&&(!(window.attachEvent))&&(!(window.chrome))&&(!(window.opera))) {   
      return { browser : matchBS[2] || \"\", version : matchBS[1] || \"0\" };
    }           
  }
};  
BrowserMatch.init();

调用方法:(首先得引入js文件,大家应该都懂的)

获取浏览器名:BrowserMatch.browser;

获取浏览器版本:BrowserMatch.version;

获取所处操作系统:BrowserMatch.OS;

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文地址:https://www.stayed.cn/item/20376

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。