Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
用户代理客户端提示 API(User-Agent Client Hints API)扩展了客户端提示,以提供一种通过用户代理响应和请求标头以及 JavaScript API 公开浏览器和平台信息的方法。
解析用户代理字符串历来是获取有关用户浏览器或设备信息的方法。典型的用户代理字符串如下例所示,标识 Windows 上的 Chrome 92:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36用户代理客户端提示旨在通过强制执行服务器请求一组信息的模型,以更加保护隐私的方式提供此信息。由浏览器决定返回什么。这种方法意味着用户代理可以提供允许用户隐藏一些可以从此类请求中获取指纹的信息的设置。
为了决定返回什么,通过此 API 访问的信息被分为两组——低熵和高熵提示。低熵提示是那些不会泄露太多信息的提示,API 使每个请求都可以轻松访问这些提示。高熵提示有可能泄露更多信息,因此以浏览器可以决定是否提供它们的方式进行控制。此决定可能基于用户偏好,或基于权限请求。
潜在的用例包括:
提供用于访问有关用户浏览器和操作系统的数据的属性和方法。
返回一个 NavigatorUAData 对象,该对象允许访问有关用户的浏览器和操作系统的信息。
WorkerNavigator.userAgentData 只读返回一个 NavigatorUAData 对象,该对象允许访问有关用户的浏览器和操作系统的信息。
以下示例将 NavigatorUAData.brands 的值打印到控制台。
在以下示例中,使用 NavigatorUAData.getHighEntropyValues() 方法请求大量提示。当 promise 兑现时,此信息将打印到控制台。
| User-Agent Client Hints |
启用 JavaScript 以查看此浏览器兼容性表。
启用 JavaScript 以查看此浏览器兼容性表。
启用 JavaScript 以查看此浏览器兼容性表。