1. jQuery判断浏览器的类型、版本都是通过正则完成的。
    2. 1.4版本中:
    3. function brs ( ua ) {
    4. ua = ua.toLowerCase();
    5. var match = /(webkit)[ //]([/w.]+)/.exec( ua ) ||
    6. /(opera)(?:.*version)?[ //]([/w.]+)/.exec( ua ) ||
    7. /(msie) ([/w.]+)/.exec( ua ) ||
    8. !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([/w.]+))?/.exec( ua ) ||
    9. [];
    10. /*
    11. webkit内核 遨游、Chrome、safari
    12. /(webkit)[ //]([/w.]+)/.exec( ua )
    13. opera
    14. /(opera)(?:.*version)?[ //]([/w.]+)/.exec( ua )
    15. ie
    16. /(msie) ([/w.]+)/.exec( ua )
    17. firefox
    18. !/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([/w.]+))?/.exec( ua )
    19. */
    20. return { browser: match[1] || "", version: match[2] || "0" };
    21. }
    22. function test() {
    23. alert(brs(navigator.userAgent).browser + "-" + brs(navigator.userAgent).version);
    24. }
    25. 而在1.4之前略有不同:
    26. var userAgent = navigator.userAgent.toLowerCase();
    27. var browser = {
    28. version: (userAgent.match( /.+(?:rv|it|ra|ie)[//: ]([/d.]+)/ ) || [])[1],//判断版本
    29. safari: /webkit/.test( userAgent ),
    30. opera: /opera/.test( userAgent ),
    31. msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
    32. mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
    33. };
    34. alert(browser.version + ":" + browser.msie);