使用javascript实现判断当前浏览器

前端技术 2023/09/01 JavaScript

写了一个判断当前浏览器类型及版本的方法,只在IE 8/11 、谷歌 、360 浏览器(不完全)上测试过

希望大家提出意见

;(function($, window, document,undefined){
  if(!window.browser){
     
    var userAgent = navigator.userAgent.toLowerCase(),uaMatch;
    window.browser = {}
     
    /**
     * 判断是否为ie
     */
    function isIE(){
      return (\"ActiveXObject\" in window);
    }
    /**
     * 判断是否为谷歌浏览器
     */
    if(!uaMatch){
      uaMatch = userAgent.match(/chrome\\/([\\d.]+)/);
      if(uaMatch!=null){
        window.browser[\'name\'] = \'chrome\';
        window.browser[\'version\'] = uaMatch[1];
      }
    }
    /**
     * 判断是否为火狐浏览器
     */
    if(!uaMatch){
      uaMatch = userAgent.match(/firefox\\/([\\d.]+)/);
      if(uaMatch!=null){
        window.browser[\'name\'] = \'firefox\';
        window.browser[\'version\'] = uaMatch[1];
      }
    }
    /**
     * 判断是否为opera浏览器
     */
    if(!uaMatch){
      uaMatch = userAgent.match(/opera.([\\d.]+)/);
      if(uaMatch!=null){
        window.browser[\'name\'] = \'opera\';
        window.browser[\'version\'] = uaMatch[1];
      }
    }
    /**
     * 判断是否为Safari浏览器
     */
    if(!uaMatch){
      uaMatch = userAgent.match(/safari\\/([\\d.]+)/);
      if(uaMatch!=null){
        window.browser[\'name\'] = \'safari\';
        window.browser[\'version\'] = uaMatch[1];
      }
    }
    /**
     * 最后判断是否为IE
     */
    if(!uaMatch){
      if(userAgent.match(/msie ([\\d.]+)/)!=null){
        uaMatch = userAgent.match(/msie ([\\d.]+)/);
        window.browser[\'name\'] = \'ie\';
        window.browser[\'version\'] = uaMatch[1];
      }else{
        /**
         * IE10
         */
        if(isIE() && !!document.attachEvent && (function(){\"use strict\";return !this;}())){
          window.browser[\'name\'] = \'ie\';
          window.browser[\'version\'] = \'10\';
        }
        /**
         * IE11
         */
        if(isIE() && !document.attachEvent){
          window.browser[\'name\'] = \'ie\';
          window.browser[\'version\'] = \'11\';
        }
      }
    }
 
    /**
     * 注册判断方法
     */
    if(!$.isIE){
      $.extend({
        isIE:function(){
          return (window.browser.name == \'ie\');
        }
      });
    }
    if(!$.isChrome){
      $.extend({
        isChrome:function(){
          return (window.browser.name == \'chrome\');
        }
      });
    }
    if(!$.isFirefox){
      $.extend({
        isFirefox:function(){
          return (window.browser.name == \'firefox\');
        }
      });
    }
    if(!$.isOpera){
      $.extend({
        isOpera:function(){
          return (window.browser.name == \'opera\');
        }
      });
    }
    if(!$.isSafari){
      $.extend({
        isSafari:function(){
          return (window.browser.name == \'safari\');
        }
      });
    }
  }
})(jQuery, window, document);

//使用方式

console.log(window.browser);
console.log($.isIE());
console.log($.isChrome());

以上所述就是本文的全部内容了,希望大家能够喜欢。

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

转载请注明出处。

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

我的博客

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