NavigatorUAData

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

备注: 此特性在 Web Worker 中可用。

用户代理客户端提示 APINavigatorUAData 接口返回有关用户的浏览器和操作系统的信息。

通过调用 Navigator.userAgentDataWorkerNavigator.userAgentData 返回此对象的实例。因此,该接口没有构造函数。

备注: 术语高熵低熵指的是这些值揭示的有关浏览器的信息量。作为属性返回的值被视为低熵,并且不太可能识别用户。NavigatorUAData.getHighEntropyValues() 返回的值可能会揭示更多信息。因此,这些值是通过 Promise 检索的,从而使浏览器有时间请求用户权限或进行其他检查。

实例属性

返回一个包含浏览器名称和版本的品牌信息的数组。

如果用户代理在移动设备上运行,则返回 true

返回用户代理运行所在的平台品牌。

实例方法

返回一个 Promise,其兑现为包含用户代理返回的高熵值的字典对象。

一个序列化器,返回 NavigatorUAData 对象的低熵属性的 JSON 表示。

示例

获取浏览器品牌信息

以下示例将 NavigatorUAData.brands 的值打印到控制台。

js
console.log(navigator.userAgentData.brands);

返回高熵的信息

在以下示例中,使用 NavigatorUAData.getHighEntropyValues() 方法请求大量提示。当 promise 兑现时,此信息将打印到控制台。

js
navigator.userAgentData
  .getHighEntropyValues([
    "architecture",
    "model",
    "platform",
    "platformVersion",
    "fullVersionList",
  ])
  .then((ua) => {
    console.log(ua);
  });

规范

Specification
User-Agent Client Hints
# navigatoruadata

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
NavigatorUAData
Experimental
brands
Experimental
getHighEntropyValues
Experimental
mobile
Experimental
platform
Experimental
toJSON
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.

参见