js校验浏览器内核判定使用的是什么浏览器及IE内核版本

遗留问题无法解决:
在360浏览器  qq浏览器等选择兼容模式时,无法与IE浏览器区分到底使用的是IE浏览器还是360或者QQ浏览器。若哪位大佬能帮忙解决,可私信我,酬谢。

一、获取使用哪种浏览器的js方法:

 

function getBrowserInfo(){
    var ua = navigator.userAgent.toLocaleLowerCase();
    var browserType=null;
    if (ua.match(/msie/) != null || ua.match(/trident/) != null) {
        browserType = "IE";
    } else if (ua.match(/firefox/) != null) {
        browserType = "火狐";
    }else if (ua.match(/ubrowser/) != null) {
        browserType = "UC";
    }else if (ua.match(/opera/) != null) {
        browserType = "欧朋";
    } else if (ua.match(/bidubrowser/) != null) {
        browserType = "百度";
    }else if (ua.match(/metasr/) != null) {
        browserType = "搜狗";
    }else if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {
        browserType = "QQ";
    }else if (ua.match(/maxthon/) != null) {
        browserType = "遨游";
    }else if (ua.match(/chrome/) != null) {
        if(window.navigator.userActivation){
            browserType = '谷歌';
        }else{
            browserType = '360';
            var is360js = _mime("type", "application/vnd.chromium.remoting-viewer");
            function _mime(option, value) {
                var mimeTypes = navigator.mimeTypes;
                for (var mt in mimeTypes) {
                    if (mimeTypes[mt][option] == value) {
                        return true;
                    }
                }
                return false;
            }
            if(is360js){
                browserType = '360兼容模式';
            }else{
                browserType = '360急速模式';
            }
        }
    }else if (ua.match(/safari/) != null) {
        browserType = "Safari";
    }
    return browserType;
}

 

二、获取IE浏览器内核的版本

function IEVersion() {
    debugger;
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
    var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
    var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
    if(isIE) {
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        if(fIEVersion == 7) {
            return 7;
        } else if(fIEVersion == 8) {
            return 8;
        } else if(fIEVersion == 9) {
            return 9;
        } else if(fIEVersion == 10) {
            return 10;
        } else {
            return 6;//IE版本<=7
        }
    } else if(isEdge) {
        return 'edge';//edge
    } else if(isIE11) {
        return 11; //IE11
    }else{
        return -1;//不是ie浏览器
    }
}

你可能感兴趣的:(javaweb)