如何从用户代理检测 windows 11?

How to detect windows 11 from user agent?

我如何判断是否有人在 windows 11 点打开了我的网站?

我测试用户代理,当有人用 windows 11 打开我的网站时,我会得到这个

"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0"

所以从技术上讲,这是 windows 10,而不是 11。

有什么方法可以检测到吗?

好吧,https://bugzilla.mozilla.org/show_bug.cgi?id=1693295 Firefox 的 Windows 版本上限为 10,所以这真的不适合你...

使用 User-Agent 字符串检测浏览器和操作系统并不可靠,是一种传统做法。您将无法检测到 Windows 11 因为 Windows 11 将使用“Window NT 10.0" 与 Windows 10 使用的相同。

但您可以在 Edge 94+ 和 Chrome 95+ 等新浏览器中使用 User-Agent 客户端提示。

对于 Windows 11,查找这些请求 headers:

Sec-CH-UA-Platform set to 'Windows'
Sec-CH-UA-Platform-Version set to 13.0.0 and above

有关详细信息,请参阅此 link:Detecting Windows 11 using User-Agent Client Hints

据我所知,仅适用于 Edge 浏览器。添加响应头“Accept-CH:Sec-CH-UA-Platform-Version” returns [Sec-Ch-Ua-Platform-Version] => "14.0.0"

...但这不是由 Chrome 或 Firefox 提供的。

据我所知,您无法检测到 Windows 11,除非使用 Edge。