1.jpg
在评论区看见操作系统只能识别到win10,不能识别win11,结果上网一看是win11不支持通过User-Agent来检查系统版本了。

只能显示Windows Nt 10.0,而win11需要Sec-CH-UA-Platform-Version 13.0.0 及以上才可以显示。

查阅了微软文档发现了。
6284b9c620029.jpg

检测数据示例Windows 11

navigator.userAgentData.getHighEntropyValues(["platformVersion"])
 .then(ua => {
   if (navigator.userAgentData.platform === "Windows") {
     const majorPlatformVersion = parseInt(ua.platformVersion.split('.')[0]);
     if (majorPlatformVersion >= 13) {
       console.log("Windows 11 or later");
      }
      else if (majorPlatformVersion > 0) {
        console.log("Windows 10");
      }
      else {
        console.log("Before Windows 10");
      }
   }
   else {
     console.log("Not running on Windows");
   }
 });

不过我没在浏览器标头发现Sec-CH-UA-Platform-Version,用edge浏览器也没发现。

文章至结束
本文作者:
文章标题:win11无法通过User-Agent来检查系统版本
本文地址:https://www.coldyun.cn/archives/97.html
版权说明:若无注明,本文皆Cold' Blog原创,转载请保留文章出处。