有办法在 Firefox 浏览器中检测 Windows-11 与 Windows-10 吗?

问题描述 投票:0回答:2

目前,
Windows-11 设备上,我得到的

navigator.userAgent
值为
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36 Edg/103.0.1264.77
,与 Windows-10 相同。

为了区分 Windows-10 与 Windows-11,我使用了 User-Agent 客户端提示

navigator.userAgentData.getHighEntropyValues(['platformVersion']).then(function(uapv){
    console.log(uapv.platformVersion); 
    var winVer = Number(uapv.platformVersion.split('.')[0]);
    if(winVer>10){
        console.log("It's Win11")
    }else{
        console.log("It's Not Win11");
    }
});

但是,
用户代理客户端提示仅在 Chrome/Edge/Opera 中受支持,但在 Firefox 中不受支持。

那么,有没有可用于在 Firefox 中检测 Windows-11 的技术/库?

javascript firefox user-agent windows-11 os-detection
2个回答
0
投票

是的,微软自己已经使用javascript给出了这个解决方案。

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"); }
});

供参考https://learn.microsoft.com/en-us/microsoft-edge/web-platform/how-to-detect-win11

编辑:我还没有测试它是否适用于 Firefox。但根据我自己的经验,它适用于 Brave 和 Chrome。


-3
投票

试试这个库:

https://github.com/bestiejs/platform.js

然后,做

platform.os
它应该给你类似的东西:
Windows Server 2008 R2 / 7 x64
7
是这里的版本。

© www.soinside.com 2019 - 2024. All rights reserved.