在jQuery判断浏览器的类型、版本都是通过正则完成的。 在1.4版本中: function brs ( ua ) { ua = ua.toLowerCase(); var match = /(webkit)[ //]([/w.]+)/.exec( ua ) || /(opera)(?:.*version)?[ //]([/w.]+)/.exec( ua ) || /(msie) ([/w.]+)/.exec( ua ) || !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([/w.]+))?/.exec( ua ) || []; /* webkit内核 遨游、Chrome、safari /(webkit)[ //]([/w.]+)/.exec( ua ) opera /(opera)(?:.*version)?[ //]([/w.]+)/.exec( ua ) ie /(msie) ([/w.]+)/.exec( ua ) firefox !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([/w.]+))?/.exec( ua ) */ return { browser: match[1] || "", version: match[2] || "0" }; } function test() { alert(brs(navigator.userAgent).browser + "-" + brs(navigator.userAgent).version); } 而在1.4之前略有不同: var userAgent = navigator.userAgent.toLowerCase(); var browser = { version: (userAgent.match( /.+(?:rv|it|ra|ie)[//: ]([/d.]+)/ ) || [])[1],//判断版本 safari: /webkit/.test( userAgent ), opera: /opera/.test( userAgent ), msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) }; alert(browser.version + ":" + browser.msie);
转载于:https://www.cnblogs.com/javaTest/archive/2010/06/09/2589429.html