JavaScript 如何判断当前浏览器是不是IE浏览器


如果只是需要区分当前浏览器是不是IE浏览器,那只需要借助 ActiveXObject 来实现就行了,

ActiveXObject 是 Internet Explorer (IE) 浏览器中的一个内置对象,用于创建和操作各种 ActiveX 控件和 COM 对象。它提供了与客户端操作系统和其他应用程序交互的能力。ActiveXObject 只在 IE 浏览器中可用,并且在现代浏览器中往往不被支持。

// 判断浏览器是不是 IE 浏览器
function isIE () {
    if (!!window.ActiveXObject || "ActiveXObject" in window)
        return true;
    else
        return false;
};

如果需要判断主流的浏览器版本,则需要使用window.navigator.userAgent来实现

function getBrowserType() {
    // 获取浏览器 userAgent
    var ua = navigator.userAgent;

    // 是否为 Opera
    var isOpera = ua.indexOf('Opera') > -1;
    // 返回结果
    if (isOpera) {
        return 'Opera';
    }

    // 是否为 IE
    var isIE = ua.indexOf('compatible') > -1 && ua.indexOf('MSIE') > -1 && !isOpera;
    var isIE11 = ua.indexOf('Trident') > -1 && ua.indexOf('rv:11.0') > -1;
    // 返回结果
    if (isIE11) {
        return 'IE11';
    } else if (isIE) {
        // 检测是否匹配
        var re = new RegExp('MSIE (\\d+\\.\\d+);');
        re.test(ua);
        // 获取版本
        var ver = parseFloat(RegExp['$1']);
        // 返回结果
        if (ver == 7) {
            return 'IE7';
        } else if (ver == 8) {
            return 'IE8';
        } else if (ver == 9) {
            return 'IE9';
        } else if (ver == 10) {
            return 'IE10';
        } else {
            return 'IE';
        }
    }

    // 是否为 Edge
    var isEdge = ua.indexOf('Edge') > -1;
    // 返回结果
    if (isEdge) {
        return 'Edge';
    }

    // 是否为 Firefox
    var isFirefox = ua.indexOf('Firefox') > -1;
    // 返回结果
    if (isFirefox) {
        return 'Firefox';
    }

    // 是否为 Safari
    var isSafari = ua.indexOf('Safari') > -1 && ua.indexOf('Chrome') == -1;
    // 返回结果
    if (isSafari) {
        return 'Safari';
    }

    // 是否为 Chrome
    var isChrome = ua.indexOf('Chrome') > -1 && ua.indexOf('Safari') > -1 && ua.indexOf('Edge') == -1;
    // 返回结果
    if (isChrome) {
        return 'Chrome';
    }

    // 是否为 UC
    var isUC = ua.indexOf('UBrowser') > -1;
    // 返回结果
    if (isUC) {
        return 'UC';
    }

    // 是否为 QQ
    var isQQ = ua.indexOf('QQBrowser') > -1; // 返回结果
    if (isQQ) {
        return 'QQ';
    }

    // 都不是
    return '';
}


文章作者: 程序猿小野
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 程序猿小野 !
评论