js判断浏览器版本

Posted 秋夜雨巷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js判断浏览器版本相关的知识,希望对你有一定的参考价值。

浏览器类型判断

不考虑对 IE9 以下浏览器的判断

function getBrowserType(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var browser=\'unknown\';
    if (userAgent.indexOf("IE")!=-1) {
        browser="IE";
    }else if(userAgent.indexOf(\'Firefox\')!=-1){
        browser="Firefox";
    }else if(userAgent.indexOf(\'OPR\')!=-1){
        browser="Opera";
    }else if(userAgent.indexOf(\'Chrome\')!=-1){
        browser="Chrome";
    }else if(userAgent.indexOf(\'Safari\')!=-1){
        browser="Safari";
    }else if(userAgent.indexOf(\'Trident\')!=-1){
        browser=\'IE 11\';
    }
    return browser;
}

测试

判断IE浏览器的版本

包含edge,ie11,10,9,8,7,6,5,4

// 获取IE版本
function IEVersion() {
    // 取得浏览器的userAgent字符串
    var userAgent = navigator.userAgent;
    // 判断是否为小于IE11的浏览器
    var isLessIE11 = userAgent.indexOf(\'compatible\') > -1 && userAgent.indexOf(\'MSIE\') > -1;
    // 判断是否为IE的Edge浏览器
    var isEdge = userAgent.indexOf(\'Edge\') > -1 && !isLessIE11;
    // 判断是否为IE11浏览器
    var isIE11 = userAgent.indexOf(\'Trident\') > -1 && userAgent.indexOf(\'rv:11.0\') > -1;
    if (isLessIE11) {
        var IEReg = new RegExp(\'MSIE (\\\\d+\\\\.\\\\d+);\');
        // 正则表达式匹配浏览器的userAgent字符串中MSIE后的数字部分,,这一步不可省略!!!
        IEReg.test(userAgent);
        // 取正则表达式中第一个小括号里匹配到的值
        var IEVersionNum = parseFloat(RegExp[\'$1\']);
        if (IEVersionNum === 7) {
            // IE7
            return 7
        } else if (IEVersionNum === 8) {
            // IE8
            return 8
        } else if (IEVersionNum === 9) {
            // IE9
            return 9
        } else if (IEVersionNum === 10) {
            // IE10
            return 10
        } else {
            // IE版本<7
            return 6
        }
    } else if (isEdge) {
        // edge
        return \'edge\'
    } else if (isIE11) {
        // IE11
        return 11
    } else {
        // 不是ie浏览器
        return -1
    }
}

判断浏览器型号及版本号

function getBroswerAndVersion(){
    var os = navigator.platform;  
    var userAgent = navigator.userAgent;  
    var info = ""; 
    var tempArray = "";  
    //判断浏览器版本
    var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
    var isEdge = userAgent.toLowerCase().indexOf("edge") > -1 && !isIE; //判断是否IE的Edge浏览器
    var isIE11 = (userAgent.toLowerCase().indexOf("trident") > -1 && userAgent.indexOf("rv") > -1);  

    if (/[Ff]irefox(\\/\\d+\\.\\d+)/.test(userAgent)) {  
        tempArray = /([Ff]irefox)\\/(\\d+\\.\\d+)/.exec(userAgent);  
        info += tempArray[1] + tempArray[2];  
    } else if (isIE) {  

        var version = "";  
        var reIE = new RegExp("MSIE (\\\\d+\\\\.\\\\d+);");  
        reIE.test(userAgent);  
        var fIEVersion = parseFloat(RegExp["$1"]);  
        if (fIEVersion == 7)  
        { version = "IE7"; }  
        else if (fIEVersion == 8)  
        { version = "IE8"; }  
        else if (fIEVersion == 9)  
        { version = "IE9"; }  
        else if (fIEVersion == 10)  
        { version = "IE10"; }  
        else  
        { version = "0" }  

        info += version;  

    } else if (isEdge) {  
        info += "Edge";  
    } else if (isIE11) {  
        info += "IE11";  
    } else if (/[Cc]hrome\\/\\d+/.test(userAgent)) {  
        tempArray = /([Cc]hrome)\\/(\\d+)/.exec(userAgent);  
        info += tempArray[1] + tempArray[2];  
    } else if (/[Vv]ersion\\/\\d+\\.\\d+\\.\\d+(\\.\\d)* *[Ss]afari/.test(userAgent)) {  
        tempArray = /[Vv]ersion\\/(\\d+\\.\\d+\\.\\d+)(\\.\\d)* *([Ss]afari)/.exec(userAgent);  
        info += tempArray[3] + tempArray[1];  
    } else if (/[Oo]pera.+[Vv]ersion\\/\\d+\\.\\d+/.test(userAgent)) {  
        tempArray = /([Oo]pera).+[Vv]ersion\\/(\\d+)\\.\\d+/.exec(userAgent);  
        info += tempArray[1] + tempArray[2];  
    } else {  
        info += "unknown";  
    }  
    return info;
}

低于IE9版本提醒

<!--[if lte IE 9]>
<script>
    var bro = getBroswerAndVersion();
    if(bro=="IE5" || bro=="IE6" || bro=="IE7" || bro=="IE8" ){
        alert("浏览器版本过低!请升级至IE9以上");
    }
</script>
<![endif]-->

参考:

https://blog.csdn.net/qq_35718410/article/details/90755204 

以上是关于js判断浏览器版本的主要内容,如果未能解决你的问题,请参考以下文章

js代码判断浏览器种类IEFFOperaSafarichrome及版本

兼容ie8,firefox,chrome浏览器的代码片段

js判断是否是ie浏览器且给出ie版本

HTML和CSS中如何判断ie各版本浏览器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

JS的数据类型判断函数数组对象结构处理日期转换函数,浏览器类型判断函数合集