使用用户代理客户端提示检测 Windows 11

通过使用 UA-CH Windows 11 UA-CH Windows 10客户端User-Agent,网站可以区分 (用户) 。 浏览器User-Agent客户端提示格式向网站提供用户代理信息。

网站可以使用从浏览器发送的用户代理信息检测以下信息:

  • 浏览器品牌。
  • 浏览器版本号。
  • 运行浏览器的设备平台。

网站有两种访问用户代理信息的方法:

  • User-Agent旧版 (字符串) 。
  • User-Agent客户端提示 (推荐) 。

有关这两种方法的详细信息,请参阅检测Microsoft Edge的网站。

在 Microsoft Edge (和 Chrome) 中,网站可以通过 Windows 11 和 Windows 10 客户端提示 User-Agent UA-CH (区分) 。 可以在以下 UA-CH 请求标头中找到此信息:

头字段 指示Windows 10 指示Windows 11
Sec-CH-UA-Platform Windows Windows
Sec-CH-UA-Platform-Version 值介于 和 1.0.0 之间 10.0.0 13.0.0 及以上

User-Agent字符串不会进行更新以区分Windows 11和Windows 10。 我们不建议使用User-Agent字符串来检索用户代理数据。 不支持客户端提示User-Agent无法区分浏览器Windows 11和Windows 10。

支持客户端提示User-Agent浏览器

下表显示哪些浏览器支持区分Windows 11和Windows 10。

浏览器 通过客户端提示User-Agent区别?
Microsoft Edge 94 及以上
Chrome 95 及以上
Opera
Firefox
Internet Explorer 11

检测数据示例Windows 11

以下代码将检测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");
   }
 });

使用 优化检测性能 Critical-CH

目前,网站服务器必须将Accept-CH``Sec-CH-UA响应标头发送到浏览器客户端,以请求默认情况下未在标头中发送的较高信息向域。 下图显示了浏览器向服务器发送请求标头,包括 user agent: <UA string> 和 接收响应标头,包括 Accept-CH: sec-ch-ua-platform

仅使用 Accept-CH 标头的请求。

在此初始请求期间,客户端将记录 Accept-CH 首选项,并默认在后续请求中包括 sec-ch-ua-platform 首选项。

为了进一步优化Critical-CH``Accept-CH此流,除了标头之外,还可以使用新标头立即重新发送请求标头,而无需重新加载页面。 下图显示了浏览器向服务器发送请求标头,包括 user agent: <UA string> 和 接收响应标头,包括 Accept-CH: sec-ch-ua-platform Critical-CH: sec-ch-ua-platform和 。 然后,浏览器立即向服务器发送请求标头。

使用 Critical-CH 和 Accept-CH 标头的请求。

从 Microsoft Edge版本 96 开始Critical-CH,可以使用新标头接收具有优化性能的所需高向度标头。

请记住, Critical-CHAccept-CH 首选项将一直保留,直到清除会话 Cookie,或者直到用户清除给定源的站点数据或 Cookie。 有关 有关详细信息, Critical-CH请参阅客户端 提示可靠性

检测特定Windows版本

若要检测特定版本的Windows,请使用客户端提示中的以下User-AgentplatformVersion值:

版本 platformVersion
Win7/8/8.1 0
Win10 1507 1
Win10 1511 2
Win10 1607 3
Win10 1703 4
Win10 1709 5
Win10 1803 6
Win10 1809 7
Win10 1903 8
Win10 1909 8
Win10 2004 10
Win10 20H2 10
Win10 21H1 10
Win10 21H2 10
Win11 13+