javascript获取操作系统版本信息

var sUserAgent = navigator.userAgent;
var fAppVersion = parseFloat(navigator.appVersion);
//比较浏览器版本大小
function compareVersions(sVersion1,sVersion2){
    
var aVersion1 = sVersion1.split(".");
    
var aVersion2 = sVersion2.split(".");

    
if(aVersion1.length>aVersion2.length){
        
for(var i=0;i<aVersion1.length;i++)
            aVersion2.push(
"0");
    }
else if(aVersion1.length<aVersion2.length){
        
for(var i=0;i<aVersion2.length;i++)
            aVersion1.push(
"0");
    }


    
for(var i=0;i<aVersion1.length;i++){
        
if(aVersion1[i]<aVersion2[i])
            
return -1;
        
else if(aVersion1[i]>aVersion2[i])
            
return 1;
    }

    
return 0;
}

//检测是否Opera浏览器
var isOpera = sUserAgent.indexOf("Opera")>-1;
var isMinOpera4 = isMinOpera5 = isMinOpera6 = isMinOpera7 = isMinOpera7_5 = false;

if(isOpera){
    
var fOperaVersion;
    
if(navigator.appName == "Opera"){
        fOperaVersion 
= fAppVersion;
    }
 else {
        
var reOperaVersion = new RegExp("Opera (http://www.cnblogs.com/eoiioe/admin/file://d+///d+)");
        reOperaVersion.test(sUserAgent);
        fOperaVersion 
= parseFloat(RegExp["$1"]);
    }


    isMinOpera4 
= fOperaVersion >= 4;
    isMinOpera5 
= fOperaVersion >= 5;
    isMinOpera6 
= fOperaVersion >= 6;
    isMinOpera7 
= fOperaVersion >= 7;
    isMinOpera7_5 
= fOperaVersion >= 7.5;
}

//检测是否Safari
var isKHTML = sUserAgent.indexOf("KHTML")>-1
                
|| sUserAgent.indexOf("Konqueror")>-1
                
|| sUserAgent.indexOf("AppleWebKit")>-1;

var isMinSafari1 = isMinSafari1_2 = false;
var isMinKonq2_2 = isMinKonq3 = isMinKonq3_1 = isMinKonq3_2 = false;
if(isKHTML){
    isSafari 
= sUserAgent.indexOf("AppleWebKit")>-1;
    isKonq 
= sUserAgent.indexOf("Konqueror")>-1;
    
if(isSafari){
        
var reAppleWebKit = new RegExp("AppleWebKit\\/(http://www.cnblogs.com/eoiioe/admin/file://d+(/?:\\.\\d*)?)");
        reAppleWebKit.test(sUserAgent);
        
var fAppleWebKitVersion = parseFloat(RegExp["$1"]);
        
        isMinSafari1 
= fAppleWebKitVersion >= 85;
        isMinSafari1_2 
= fAppleWebKitVersion >= 124;
    }
 else if (isKonq) {
        
var reKonq = new RegExp("Konqueror\\/(http://www.cnblogs.com/eoiioe/admin/file://d+(/?:\\.\\d+(?:\\.\\d)?)?)");
        reKonq.test(sUserAgent);
        isMinKonq2_2 
= compareVersions(RegExp["$1"],"2.2">= 0;
        isMinKonq3 
= compareVersions(RegExp["$1"],"3.0">= 0;
        isMinKonq3_1 
= compareVersions(RegExp["$1"],"3.1">= 0;
        isMinKonq3_2 
= compareVersions(RegExp["$1"],"3.2">= 0;
    }

}

//检测IE
var isIE = sUserAgent.indexOf("compatible"> -1
            
&&sUserAgent.indexOf("MSIE"> -1
            
&&!isOpera;

var isMinIE4 = isMinIE5 = isMinIE5_5 = isMinIE6 = isMinIE7 = false;
if(isIE){
    
var reIE = new RegExp("MSIE (http://www.cnblogs.com/eoiioe/admin/file://d+///d+);");
    reIE.test(sUserAgent);
    
var fIEVersion = parseFloat(RegExp["$1"]);
    
    isMinIE4 
= fIEVersion >=4;
    isMinIE5 
=  fIEVersion >=5;
    isMinIE5_5 
= fIEVersion >=5.5;
    isMinIE6 
= fIEVersion >=6;
    isMinIE7 
= fIEVersion >=7;
}

//检测Firfox
var isFF = sUserAgent.indexOf("Firefox")>-1&&!isKHTML;
var isMinFF1 = isMinFF2 =isMinFF3 = false;
if(isFF){
    
var reFF = new RegExp("Firefox\\/(http://www.cnblogs.com/eoiioe/admin/file://d+///d+(?:\\.\\d+\\.\\d+)?)");
    reFF.test(sUserAgent);
    isMinFF1 
= compareVersions(RegExp["$1"],"1.0">=0;
    isMinFF2 
= compareVersions(RegExp["$1"],"2.0">=0;
    isMinFF3 
= compareVersions(RegExp["$1"],"3.0">=0;
}

//检测Mozilla
var isMoz = sUserAgent.indexOf("Gecko")>-1&&!isKHTML;
var isMinMoz1 = isMinMoz1_4 = isMinMoz1_5 = isMinMoz1_8 = false;
if(isMoz){
    
var reMoz = new RegExp("rv:(http://www.cnblogs.com/eoiioe/admin/file://d+///d+(?:\\.\\d+)?)");
    reMoz.test(sUserAgent);
    isMinMoz1 
= compareVersions(RegExp["$1"],"1.0">=0;
    isMinMoz1_4 
= compareVersions(RegExp["$1"],"1.4">=0;
    isMinMoz1_5 
= compareVersions(RegExp["$1"],"1.5">=0;
    isMinMoz1_8 
= compareVersions(RegExp["$1"],"1.8">=0;
}

var isNS4 = !isIE&&!isOpera&&!isMoz&&!isKHTML
            
&&(sUserAgent.indexOf("Mozilla")==0)
            
&&(navigator.appName == "Netscape")
            
&&(fAppVersion >= 4.0 && fAppVersion <5.0);
var isMinNS4 = isMinNS4_5 = isMinNS4_7 =isMinNS4_8 = false;

if(isNS4){
    isMinNS4 
= true;
    ifMinNS4_5 
= fAppVersion >= 4.5;
    ifMinNS4_7 
= fAppVersion >= 4.7;
    ifMinNS4_8 
= fAppVersion >= 4.8;
}

//检测操作系统
var isWin = (navigator.platform == "Win32"|| (navigator.platform == "Windows");
var isMac = (navigator.platform == "Mac68K"|| (navigator.platform == "MacPPC")
            
|| (navigator.platform == "Macintosh");

var isUnix = (navigator.platform == "X11" && !isWin && !isMac);

var isWin95 = isWin98 = isWinNT4 = isWin2K = isWinME = isWinXP = isWin2K3 = isVista = false;
var isMac68K = isMacPPC = false;
var isSunOS = isMinSunOS4 = isMinSunOS5 = isMinSunOS5_5 = false;
//Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)
if(isWin){
    isWin95 
= sUserAgent.indexOf("Win95"> -1 || sUserAgent.indexOf("Windows 95">-1;
    isWin98 
= sUserAgent.indexOf("Win98"> -1 || sUserAgent.indexOf("Windows 98">-1;
    isWinME 
= sUserAgent.indexOf("Win 9x 4.90"> -1 || sUserAgent.indexOf("Windows ME">-1;
    isWin2K 
= sUserAgent.indexOf("Windows NT 5.0"> -1 || sUserAgent.indexOf("Windows 2000">-1;
    isWinXP 
= sUserAgent.indexOf("Windows NT 5.1"> -1 || sUserAgent.indexOf("Windows XP">-1;
    isWin2K3 
= sUserAgent.indexOf("Windows NT 5.2"> -1 || sUserAgent.indexOf("Windows 2003">-1;
    
//检测Vista系统可能有bug
    isVista = sUserAgent.indexOf("Windows NT 6.0"> -1 || sUserAgent.indexOf("Windows Vista">-1;
    
if(!isWin2K3&&!isVista){
        isWinNT4 
= sUserAgent.indexOf("WinNT"> -1
                    
|| sUserAgent.indexOf("Windows NT">-1
                    
|| sUserAgent.indexOf("WinNT4.0">-1
                    
|| (sUserAgent.indexOf("Windows NT 4.0">-1)
                    
&& (!isWinME&&!isWin2K&&!isWinXP);
    }

}


if(isMac){
    isMac68K 
= sUserAgent.indexOf("Mac_68000"> -1 || sUserAgent.indexOf("68K"> -1;
    isMacPPC 
= suserAgent.indexOf("MacPowerPC"> -1 || sUserAgent.indexOf("PPC"> -1;
}


if(isUnix){
    isSunOS 
= sUserAgent.indexOf("SunOS"> -1;
    
if(isSunOS){
        
var reSunOS = new RegExp("SunOS (http://www.cnblogs.com/eoiioe/admin/file://d+///d+(?:\\.\\d+)?)");
        reSunOS.test(sUserAgent);
        isMinSunOS4 
= compareVersions(RegExp["$1"],"4.0">= 0;
        isMinSunOS5 
= compareVersions(RegExp["$1"],"5.0">= 0;
        isMinSunOS5_5 
= compareVersions(RegExp["$1"],"5.5">= 0;
    }

}


document.write(
"<br/>");
document.write(
"IE 浏览器:" + isIE);
document.write(
"<br/>");
document.write(
"Firfor 浏览器:" + isFF);
document.write(
"<br/>");
document.write(
"Windows 操作系统:" + isWin);
document.write(
"<br/>");
document.write(
"<br/>");
document.write(
"Mozilla 1.5 ↑:" + isMinMoz1_5);
document.write(
"<br/>");
document.write(
"Mozilla 1.8 ↑:" + isMinMoz1_8);
document.write(
"<br/>");
document.write(
"Firfox 1.0 ↑:" + isMinFF1);
document.write(
"<br/>");
document.write(
"Firfox 2.0 ↑:" + isMinFF2);
document.write(
"<br/>");
document.write(
"Firfox 3.0 ↑:" + isMinFF3);
document.write(
"<br/>");
document.write(
"IE 4.0 ↑:" + isMinIE4);
document.write(
"<br/>");
document.write(
"IE 5.0 ↑:" + isMinIE5);
document.write(
"<br/>");
document.write(
"IE 5.5 ↑:" + isMinIE5_5);
document.write(
"<br/>");
document.write(
"IE 6.0 ↑:" + isMinIE6);
document.write(
"<br/>");
document.write(
"IE 7.0 ↑:" + isMinIE7);
document.write(
"<br/>");
document.write(
"Windows 95:" + isWin95);
document.write(
"<br/>");
document.write(
"Windows 98:" + isWin98);
document.write(
"<br/>");
document.write(
"Windows ME:" + isWinME);
document.write(
"<br/>");
document.write(
"Windows NT:" + isWinNT4);
document.write(
"<br/>");
document.write(
"Windows 2000:" + isWin2K);
document.write(
"<br/>");
document.write(
"Windows XP:" + isWinXP);
document.write(
"<br/>");
document.write(
"Windows 2003:" + isWin2K3);
document.write(
"<br/>");
document.write(
"Windows Vista:" + isVista);
document.write(
"<br/>");

微软userAgent官方资料 http://msdn.microsoft.com/zh-cn/library/ms537503(en-us).aspx

原文地址:https://www.cnblogs.com/eoiioe/p/1442323.html