我有这段代码可以成功检测Mozilla Firefox:

function isFFold() {
  return (
    (navigator.userAgent.toLowerCase().indexOf("firefox") >= 0)
  );
}


如何更改代码,以便获得特定版本?我到处都看过了,但是找到的唯一方法是使用不赞成使用的浏览器功能。

最佳答案

我总是使用以下代码来检查用户代理及其版本:

navigator.sayWho= (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+)/g.exec(ua) || [];
        navigator.isIE = true;
        return 'IE '+(tem[1] || '');
    }
    navigator.isIE = false;
    if(M[1]=== 'Chrome'){
        tem= ua.match(/\bOPR\/(\d+)/)
        if(tem!= null) return 'Opera '+tem[1];
    }
    M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
    if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]);
    return M.join(' ');
})();


它将告诉您任何用户代理的名称和版本。不幸的是,我不再知道此代码的原始来源。

请注意,此代码也可以在没有jQuery的情况下使用。

但是,您应尝试避免使用此类代码,而应使用功能检测。

10-06 04:32