现代浏览器检测?

Ser*_*nko 2 javascript css3

实际上哪些版本的浏览器可以命名为现代?哪里支持css3和更多或更少的现代功能?

  • 当歌剧变得现代时,不知道
  • 如果FF4可以称为现代
  • Safari小于5是不是很糟糕?

谢谢!

function isOldBrowser() {
    var isOld = false;
    var detect = function(){
        var ua= navigator.userAgent, tem, M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*([\d\.]+)/i) || [];
        if(/trident/i.test(M[1])){
            tem=  /\brv[ :]+(\d+(\.\d+)?)/g.exec(ua) || [];
            return 'IE '+(tem[1] || '');
        }
        M = M[2] ? [M[1].toLowerCase(), parseInt(M[2],10)] : [navigator.appName.toLowerCase(), parseInt(navigator.appVersion,10), '-?'];
        if((tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1];
        return M;
    };
    var browser = detect();

    if (document.all && !document.querySelector) isOld = true; //IE7 or lower
    else if (document.all && document.querySelector && !document.addEventListener) isOld = true; //IE8
    else if (browser[0] == 'firefox' && browser[1] < 4) isOld = true; //FF4+
    else if (browser[0] == 'safari' && browser[1] < 5) isOld = true;  //Safari 5+
    return isOld;
}
Run Code Online (Sandbox Code Playgroud)

Ben*_*Ben 5

浏览器嗅探几乎总是一个坏主意.如果您希望支持旧版浏览器,请使用Modernizr和功能检测来提供替代内容.您可以参考caniuse来了解哪些浏览器支持哪些功能.