浏览器测试功能(jquery1.9以后已取消)

//  1.9以后取消了msie这些私有方法判断。这里封装加回。
var matched = (function(ua) {
    ua = ua.toLowerCase();

    var match = /(opr)[/]([w.]+)/.exec(ua) ||
        /(chrome)[ /]([w.]+)/.exec(ua) ||
        /(version)[ /]([w.]+).*(safari)[ /]([w.]+)/.exec(ua) ||
        /(webkit)[ /]([w.]+)/.exec(ua) ||
        /(opera)(?:.*version|)[ /]([w.]+)/.exec(ua) ||
        /(msie) ([w.]+)/.exec(ua) ||
        ua.indexOf("trident") >= 0 && /(rv)(?::| )([w.]+)/.exec(ua) ||
        ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([w.]+)|)/.exec(ua) || [];

    var platform_match = /(ipad)/.exec(ua) ||
        /(iphone)/.exec(ua) ||
        /(android)/.exec(ua) ||
        /(windows phone)/.exec(ua) ||
        /(win)/.exec(ua) ||
        /(mac)/.exec(ua) ||
        /(linux)/.exec(ua) ||
        /(cros)/i.exec(ua) || [];

    return {
        browser: match[3] || match[1] || "",
        version: match[2] || "0",
        platform: platform_match[0] || ""
    };
})(window.navigator.userAgent);
var browser = {};
if (matched.browser) {
    browser[matched.browser] = true;
    browser.version = matched.version;
    browser.versionNumber = parseInt(matched.version, 10);
}

if (matched.platform) {
    browser[matched.platform] = true
}


if (browser.chrome || browser.opr || browser.safari) {
    browser.webkit = true;
}

if (browser.rv) {
    var ie = 'msie';
    matched.browser = ie;
    browser[ie] = true;
}

if (browser.opr) {
    var opera = 'opera';
    matched.browser = opera;
    browser[opera] = true;
}

if (browser.safari && browser.android) {
    var android = "android";
    matched.browser = android;
    browser[android] = true;
}
browser.name = matched.browser;
browser.platform = matched.platform;
app.browser = browser;
$.browser = app.browser;
原文地址:https://www.cnblogs.com/dabingzi/p/5807202.html