• 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

  • 相关阅读:
    Unity编译Android的原理解析和apk打包分析
    TokuDB性能测试报告
    一起脱去小程序的外套和内衣
    go单元测试进阶篇
    小程序发布后最全解析!
    部署在腾讯云的公益网站遭受了一次CC攻击
    基于Http原理实现Android的图片上传和表单提交
    腾讯云TCCE培训认证 精彩的第一次
    【腾讯云的1001种玩法】在腾讯云上创建您的SQL Cluster(5)
    腾讯云容器服务的滚动升级使用简介
  • 原文地址:https://www.cnblogs.com/eoiioe/p/1442323.html
Copyright © 2020-2023  润新知