浏览器

状态: 混合

type: browser

描述: 应用程序运行所在的 Web 浏览器。browser.* 属性仅用于表示在 Web 浏览器中运行的应用程序的资源(无论是在移动设备还是桌面设备上运行)。

Attributes

Stability需求级别Value Type描述Example Values
browser.brandsDevelopment推荐string[]品牌名称和版本组成的数组,用空格分隔 [1][" Not A;Brand 99", "Chromium 99", "Chrome 99"]
browser.languageDevelopment推荐字符串用户使用浏览器偏好的语言 [2]en; en-US; fr; fr-FR
browser.mobileDevelopment推荐布尔值一个布尔值,如果浏览器运行在移动设备上则为 true [3]
browser.platformDevelopment推荐字符串浏览器运行的平台 [4]Windows; macOS; Android
user_agent.originalStable推荐字符串浏览器提供的完整用户代理字符串 [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.typeos.name 属性 中的值重叠。但是,为了保持一致性,browser.platform 属性中的值应捕获用户代理提供的确切值。

[5] user_agent.original: 用户代理值应仅从不具有从用户代理客户端提示 API 单独检索品牌和平台的机制的浏览器提供。要检索该值,可以使用旧的 navigator.userAgent API。

所有这些属性都可以由用户代理本身以 HTTP 标头的形式提供(例如,Sec-CH-UA、Sec-CH-Platform、User-Agent)。但是,标头可能会被代理服务器删除,并且与单个客户端的调用绑定。为了支持通过 Collector 等服务进行批量处理,并防止数据丢失(例如,由于代理服务器删除标头),应尽可能使用这些属性。