AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

jquery判断当前浏览器的实现代码

51自学网 http://www.wanshiok.com
jquery,浏览器判断

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

核心代码:

;(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());

wanshiok.com小编特提供的完整测试代码:

<html> <head> <title>jquery 浏览器判断</title> </head> <body> <script src="http://demo.wanshiok.com/jslib/jquery/jquery-1.8.3.min.js"></script><script type="text/javascript"> (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);//使用方式alert(window.browser.name);//下面是ie F2中测试可以看到效果console.log(window.browser);console.log($.isIE());console.log($.isChrome());</script> </body> </html>


jquery,浏览器判断  
上一篇:jquery验证邮箱格式并显示提交按钮  下一篇:jQuery插件开发精品教程(让你的jQuery更上一个台阶)