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


    //浏览器检测
    (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;

  • 相关阅读:
    redis client 2.0.0 pipeline 的list的rpop bug
    Python解释器镜像源修改
    全连接层
    测试(张量)- 实战
    数据加载
    Python之微信-微信好友头像合成
    高阶操作
    MYSQL 查询缓存
    SQL Server 查看指定表上的索引
    MYSQL 查看表上索引的 1 方法
  • 原文地址:https://www.cnblogs.com/BobSky/p/3116718.html
Copyright © 2020-2023  润新知