javascript: get Operating System version

<script type="text/ecmascript">
console.log(navigator.userAgent)
console.log(navigator.appVersion)
console.log(navigator.platform)	
//Edge geovindu,涂聚文,Geovin Du
//Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53
//5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53
//Win32
navigator.userAgentData.getHighEntropyValues(['platformVersion'])
.then(uapv => { console.log(uapv.platformVersion); });	
//10.0.0	
	
	
//firefox
/*
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0 NyHSMNy:7:9
5.0 (Windows) NyHSMNy:8:9
Win32
*/
/*
google Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
lcK2XKo:8 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
lcK2XKo:9 Win32
lcK2XKo:15 10.0.0
*/
</script>	
	

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>检测</title>
<meta name="author" content="geovindu"/>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
 $(document).ready(function() {
var du= document.getElementById("geovindu");
var du1=document.getElementById("geovindu1");
var du2=document.getElementById("geovindu2");
var du3=document.getElementById("geovindu3");
let ua=navigator.userAgent;
//document.write(ua);
//$("#geovindu").text("userAgent:"+ua);
//document.getElementById("geovindu").innerHTML="ua:"+ua;
     
du.innerHTML="userAgent:"+navigator.userAgent; 
console.log(navigator.userAgent)
du1.innerHTML=navigator.appVersion.toString();
console.log(navigator.appVersion)
du2.innerHTML=navigator.platform.toString();
console.log(navigator.platform)
//Win10 Edge geovindu,涂聚文,Geovin Du
//Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53
//5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53
//Win32
navigator.userAgentData.getHighEntropyValues(['platformVersion'])
.then(uapv => {
    du3.innerHTML=uapv.platformVersion.toString();
    console.log(uapv.platformVersion);
}); 
//10.0.0  
      
});
//firefox
/*
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0 NyHSMNy:7:9
5.0 (Windows) NyHSMNy:8:9
Win32
*/
/*
google Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
lcK2XKo:8 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
lcK2XKo:9 Win32
lcK2XKo:15 10.0.0

opera:

userAgent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 OPR/90.0.4480.84
5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 OPR/90.0.4480.84
Win32
10.0.0
*/
     
     
     
/*
win11 edge:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53
5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.53
Win32
14.0.0
 
firefox:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0
5.0 (Windows)
Win32
 
 
google chrome:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
 Win32
 14.0.0
*/ 
     
</script>    
</head>
 
<body>
    <div id="geovindu"></div>
    <div id="geovindu1"></div>
    <div id="geovindu2"></div>
    <div id="geovindu3"></div>
</body>
</html>

from:

https://bestiejs.github.io/platform.js/
https://www.npmjs.com/package/platform
https://github.com/bestiejs/platform.js
https://textslashplain.com/2021/09/21/determining-os-platform-version/
https://angularfixing.com/how-to-get-os-version-name-on-mobile-tablet-or-pc-in-angular-project/
https://github.com/becher/angular-device-information
https://www.codeproject.com/Articles/5336372/Windows-11-Version-Detection
https://www.anoopcnair.com/windows-10-build-numbers-version-numbers/
https://learn.microsoft.com/en-us/windows/release-health/windows11-release-information
https://learn.microsoft.com/en-us/windows/release-health/supported-versions-windows-client
https://learn.microsoft.com/en-us/windows/release-health/release-information
Windows 11 build number starts with 20000
Windows 10 build numbers starting with 10000
Windows 8.1 build numbers starting with 9000
Windows XP build numbers starting with 3000

Response.Write(Environment.OSVersion.Version.Build.ToString());

        Response.Write("Operating System Detaiils");

        OperatingSystem os = Environment.OSVersion;

        Response.Write("OS Version: " + os.Version.ToString());

        Response.Write("OS Platoform: " + os.Platform.ToString());

        Response.Write("OS SP: " + os.ServicePack.ToString());

        Response.Write("OS Version String: " + os.VersionString.ToString());

        Response.Write("<br/>");



        // Get Version details

        Version ver = os.Version;

        Response.Write("Major version: " + ver.Major);

        Response.Write("Major Revision: " + ver.MajorRevision);

        Response.Write("Minor version: " + ver.Minor);

        Response.Write("Minor Revision: " + ver.MinorRevision);

        Response.Write("Build: " + ver.Build);






    }
    /// <summary>
    /// 是否WIN11
    /// </summary>
    /// <returns></returns>
    public static bool IsWindows11()
    {
        var reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion");

        var currentBuildStr = (string)reg.GetValue("CurrentBuild");
        var currentBuild = int.Parse(currentBuildStr);

        if(Environment.OSVersion.Version.Build>=2200)
        {
            int ver = 11;
        }

        using (var objOS = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem"))
        {
            foreach (ManagementObject objMgmt in objOS.Get())
            {
                Console.WriteLine("{0}: {1}", objMgmt.Properties["Caption"].Name, objMgmt.Properties["Caption"].Value);
            }
        }


        return currentBuild >= 22000;
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值