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

 更新时间:2015年04月14日 11:35:03   投稿:hebedich  
这篇文章主要介绍了使用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());

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

相关文章

  • JS实现的点击表头排序功能示例

    JS实现的点击表头排序功能示例

    这篇文章主要介绍了JS实现的点击表头排序功能,可实现针对表格中的字母、数字、日期等格式进行排序的功能,涉及javascript针对页面table元素的获取及字符串、数字等排序操作相关技巧,需要的朋友可以参考下
    2017-03-03
  • 总结javascript中的六种迭代器

    总结javascript中的六种迭代器

    本文总结了javascript中的六种迭代器的使用实例,分别是forEach迭代器、every迭代器、some迭代器、reduce迭代器、map迭代器和fiter迭代器,有需要的小伙伴们可以参考借鉴。
    2016-08-08
  • javascript实现获取浏览器版本、浏览器类型

    javascript实现获取浏览器版本、浏览器类型

    这篇文章主要介绍了javascript实现获取浏览器版本,javascript实现获取浏览器类型两大方面,对这方面感兴趣的朋友可以参考一下
    2015-12-12
  • 一个多次搜索+多次传值的解决方案

    一个多次搜索+多次传值的解决方案

    一个多次搜索+多次传值的解决方案...
    2007-01-01
  • JS判断字符串包含的方法

    JS判断字符串包含的方法

    这篇文章主要介绍了JS判断字符串包含的方法,可有效的检测字符串中是否包含固定字符或子字符串,涉及javascript中indexOf的使用技巧,非常简单实用,需要的朋友可以参考下
    2015-05-05
  • 微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法

    微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法

    这篇文章主要介绍了微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • JS实现很酷的EMAIL地址添加功能实例

    JS实现很酷的EMAIL地址添加功能实例

    这篇文章主要介绍了JS实现很酷的EMAIL地址添加功能,实例分析了javascript操作text文本的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • JS使用cookie保存用户登录信息操作示例

    JS使用cookie保存用户登录信息操作示例

    这篇文章主要介绍了JS使用cookie保存用户登录信息操作,结合具体实例形式分析了javascript使用cookie实现针对用户信息的存储与读取相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • javascript的hashCode函数实现代码小结

    javascript的hashCode函数实现代码小结

    网上找了好一轮,找到个比较像样而且足够短的 hashCode 实现,是从 Java 的 hashCode 中借鉴而得的。原理见 Java hashCode() ,也可以跟这里的 Java String 的源码 参照对比一下
    2020-08-08
  • 数组Array的排序sort方法

    数组Array的排序sort方法

    下面小编就为大家带来一篇数组Array的排序sort方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论