浏览器
状态:
type: browser
描述: 应用程序运行所在的 Web 浏览器。browser.* 属性仅用于表示在 Web 浏览器中运行的应用程序的资源(无论是在移动设备还是桌面设备上运行)。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
browser.brands | 推荐 | string[] | 品牌名称和版本组成的数组,用空格分隔 [1] | [" Not A;Brand 99", "Chromium 99", "Chrome 99"] | |
browser.language | 推荐 | 字符串 | 用户使用浏览器偏好的语言 [2] | en; en-US; fr; fr-FR | |
browser.mobile | 推荐 | 布尔值 | 一个布尔值,如果浏览器运行在移动设备上则为 true [3] | ||
browser.platform | 推荐 | 字符串 | 浏览器运行的平台 [4] | Windows; macOS; Android | |
user_agent.original | 推荐 | 字符串 | 浏览器提供的完整用户代理字符串 [5] | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 |
[1] browser.brands: 此值意图从 UA client hints API (navigator.userAgentData.brands) 中获取。
[2] browser.language: 此值意图从 Navigator API navigator.language 中获取。
[3] browser.mobile: 此值意图从 UA client hints API (navigator.userAgentData.mobile) 中获取。如果不可用,则应将此属性留空。
[4] browser.platform: 此值应取自 UA 客户端提示 API (navigator.userAgentData.platform)。如果不可用,不应使用旧的 navigator.platform API,并且为保持值一致,应留空此属性。可能的值列表在 W3C 用户代理客户端提示规范 中定义。请注意,其中一些值(但不是全部)可能与 os.type 和 os.name 属性 中的值重叠。但是,为了保持一致性,browser.platform 属性中的值应捕获用户代理提供的确切值。
[5] user_agent.original: 用户代理值应仅从不具有从用户代理客户端提示 API 单独检索品牌和平台的机制的浏览器提供。要检索该值,可以使用旧的 navigator.userAgent API。
所有这些属性都可以由用户代理本身以 HTTP 标头的形式提供(例如,Sec-CH-UA、Sec-CH-Platform、User-Agent)。但是,标头可能会被代理服务器删除,并且与单个客户端的调用绑定。为了支持通过 Collector 等服务进行批量处理,并防止数据丢失(例如,由于代理服务器删除标头),应尽可能使用这些属性。