判断浏览器版本及浏览器类型

//浏览器检测
(function(){
    window.sys = {};            //让外部可以访问
    var ua = navigator.userAgent.toLowerCase(); //保存浏览器信息字符串并都转换成小写字母
    var s = null;

    alert(ua);
    //alert(ua.match(/msie\s([\d.]+)/));    //查找匹配的字符串没有g并且还要返回园括号中的内容
    //alert(ua.match(/chrome\/([\d.]+)/));    //查找匹配的字符串没有g并且还要返回园括号中的内容
    //alert(ua.match(/version\/([\d.]+).*safari/));

    //IE浏览器
    if((/msie\s([\d.]+)/).test(ua)){
        s = ua.match(/msie\s([\d.]+)/);
        sys.ie = s[1];
    }
    //chrome浏览器
    if((/chrome\/([\d.]+)/).test(ua)){
        s = ua.match(/chrome\/([\d.]+)/);
        sys.chrome = s[1];
    }
    //firefox浏览器
    if((/firefox\/([\d.]+)/).test(ua)){
        s = ua.match(/firefox\/([\d.]+)/);
        sys.firefox = s[1];
    }
    //opera浏览器
    if((/opera\/.*version\/([\d.]+)/).test(ua)){
        s = ua.match(/opera\/.*version\/([\d.]+)/);
        sys.opera = s[1];
    }
    //safari浏览器
    if((/version\/([\d.]+).*safari/).test(ua)){
        s = ua.match(/version\/([\d.]+).*safari/);
        sys.safari = s[1];
    }
})();
alert(sys.ie);
View Code

 使用方法:

if(sys.ie){
    alert('这是IE'+sys.ie+'浏览器');
}else if(sys.chrome){
    alert('这是chrome'+sys.chrome+'浏览器');
}else if(sys.firefox){
    alert('这是firefox'+sys.firefox+'浏览器');
}else if(sys.opera){
    alert('这是opera'+sys.opera+'浏览器');
}else if(sys.safari){
    alert('这是safari'+sys.safari+'浏览器');
}

 利用三目的原理我们可以把兼容代码简写

//浏览器检测
(function(){
    window.sys = {};            //让外部可以访问
    var ua = navigator.userAgent.toLowerCase(); //保存浏览器信息字符串并都转换成小写字母
    var s = null;

    //alert(ua);
    //alert(ua.match(/msie\s([\d.]+)/));    //查找匹配的字符串没有g并且还要返回园括号中的内容
    //alert(ua.match(/chrome\/([\d.]+)/));    //查找匹配的字符串没有g并且还要返回园括号中的内容
    //alert(ua.match(/version\/([\d.]+).*safari/));
/*
    //IE浏览器
    if((/msie\s([\d.]+)/).test(ua)){
        s = ua.match(/msie\s([\d.]+)/);
        sys.ie = s[1];
    }
    //chrome浏览器
    if((/chrome\/([\d.]+)/).test(ua)){
        s = ua.match(/chrome\/([\d.]+)/);
        sys.chrome = s[1];
    }
    //firefox浏览器
    if((/firefox\/([\d.]+)/).test(ua)){
        s = ua.match(/firefox\/([\d.]+)/);
        sys.firefox = s[1];
    }
    //opera浏览器
    if((/opera\/.*version\/([\d.]+)/).test(ua)){
        s = ua.match(/opera\/.*version\/([\d.]+)/);
        sys.opera = s[1];
    }
    //safari浏览器
    if((/version\/([\d.]+).*safari/).test(ua)){
        s = ua.match(/version\/([\d.]+).*safari/);
        sys.safari = s[1];
    }
*/
    (s = ua.match(/msie\s([\d.]+)/)) ? sys.ie = s[1]:
    (s = ua.match(/chrome\/([\d.]+)/)) ? sys.chrome = s[1]:
    (s = ua.match(/firefox\/([\d.]+)/)) ? sys.firefox = s[1]:
    (s = ua.match(/opera\/.*version\/([\d.]+)/)) ? sys.opera = s[1]:
    (s = ua.match(/version\/([\d.]+).*safari/)) ? sys.safari = s[1]:0;
})();
View Code

(是否为真) ? L1 : L2

当为真时执行L1,为假是执行L2

L2也可以是判断

(是否为真) ? L1 : (是否为真) ? K1 : K2

当第二个为真时执行K1,为假是执行K2

以此类推最后得出

(是否为真) ? L1 :

(是否为真) ? K1 :

(是否为真) ? J1 : 0;

原文地址:https://www.cnblogs.com/BobSky/p/3116718.html