NavigatorUAData:getHighEntropyValues() 方法
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
备注: 此特性在 Web Worker 中可用。
NavigatorUAData 接口的 getHighEntropyValues() 方法是一个 Promise,它使用包含用户的高熵值的字典对象进行解析代理返回。
备注:
术语高熵和低熵是指这些值揭示的有关浏览器的信息量。作为属性返回的值被视为低熵,并且不太可能被用于识别用户。getHighEntropyValues() 返回的值可能会揭示更多信息。因此,这些值是通过 Promise 检索的,从而使浏览器有时间请求用户权限或进行其他检查。
语法
getHighEntropyValues(hints)
参数
hints-
包含要返回的提示的数组,为以下中的一个或多个:
"architecture""bitness""formFactor""fullVersionList""model""platformVersion""uaFullVersion"已弃用"wow64"
返回值
一个 Promise,其兑现为包含以下部分或全部值的对象(基于请求的提示):
brands-
返回包含
brand和version属性的对象数组,指定浏览器品牌及其版本(与NavigatorUAData.brands提供的信息相同)。请注意,此信息可以在Sec-CH-UA标头中发送到服务器(一个低熵客户端提示)。 mobile-
如果用户代理在移动设备上运行,则返回
true(与NavigatorUAData.mobile提供的信息相同)。请注意,此信息可以在Sec-CH-UA-Mobile标头中发送到服务器(一个低熵客户端提示)。 platform-
返回一个描述用户代理的运行平台的字符串,例如
"Windows"(与NavigatorUAData.platform提供的信息相同)。请注意,此信息可以在Sec-CH-UA-Platform标头中发送到服务器(一个低熵客户端提示)。 architecture-
一个包含平台架构的字符串。例如,
"x86"。请注意,当服务器在Accept-CH标头中显式请求该信息后,可以在Sec-CH-UA-Arch标头中将该信息发送到服务器。 bitness-
一个包含平台架构位数的字符串。例如,
"32"或"64"。请注意,如果服务器在Accept-CH标头中明确请求该信息,则可以在Sec-CH-UA-Bitness标头中将该信息发送到服务器。 formFactor-
一个包含设备外形规格的字符串。例如,
"Tablet"或"VR"。请注意,如果服务器在Accept-CH中明确请求该信息,则可以在Sec-CH-UA-Form-Factors标头中将该信息发送到服务器。 fullVersionList-
一个具有
"brand"和"version"属性的对象数组,分别表示浏览器名称和完整版本。例如,{"brand": "Google Chrome", "version": "103.0.5060.134"}, {"brand": "Chromium", "version": "103.0.5060.134"}。请注意,一个对象可能故意包含无效信息,以防止网站依赖固定的浏览器列表。请注意,如果服务器在Accept-CH中明确请求该信息,则可以在Sec-CH-UA-Full-Version-List标头中将该信息发送到服务器。 model-
一个包含移动设备型号的字符串。例如,
"Pixel 2XL"。如果设备不是移动设备或者设备型号未知,则model将为""。请注意,如果服务器在Accept-CH标头中明确请求该信息,则可以在Sec-CH-UA-Model标头中将该信息发送到服务器。 platformVersion-
一个包含平台版本的字符串。平台名称本身始终可通过低熵提示
platform提供。例如,"10.0"。请注意,如果服务器在Accept-CH中明确请求该信息,则可以在Sec-CH-UA-Platform-Version标头中将该信息发送到服务器。 uaFullVersion已弃用-
一个包含完整浏览器版本的字符串。例如,
"103.0.5060.134"。已弃用,请使用fullVersionList替代。请注意,如果服务器在Accept-CH中明确请求该信息,则可以在Sec-CH-UA-Full-Version标头中将该信息发送到服务器。 wow64-
一个布尔值,指示用户代理的二进制文件是否在 64 位 Windows 上以 32 位模式运行。请注意,如果服务器在
Accept-CH标头中明确请求该信息,则可以在Sec-CH-UA-WoW64标头中将该信息发送到服务器。
异常
NotAllowedErrorDOMException-
如果用户代理决定不应返回所请求的一个或多个
hints,则抛出该异常。
示例
在以下示例中,使用 getHighEntropyValues() 方法请求许多提示。当 promise 兑现时,此信息将打印到控制台。
navigator.userAgentData
.getHighEntropyValues([
"architecture",
"model",
"platformVersion",
"fullVersionList",
])
.then((values) => console.log(values));
规范
| Specification |
|---|
| User-Agent Client Hints> # dom-navigatoruadata-gethighentropyvalues> |
浏览器兼容性
Loading…