Navigator:userAgent 属性

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Navigator.userAgent 只读属性返回当前浏览器的用户代理字符串。

备注: 规范要求浏览器尽可能减少通过此字段提供的信息。请勿假设此属性的值在同一浏览器的未来版本中会保持不变。尽量不要使用它,或者仅将其用于当前和过去版本的浏览器。新版浏览器可能与旧版浏览器开始使用相同的 UA 或部分 UA,因此你无法完全保证浏览器代理确实是此属性所宣告的浏览器代理。此外,请注意浏览器用户可以根据需要更改此字段的值(UA 欺骗)。

基于用户代理字符串来识别浏览器是不可靠的不推荐,因为用户代理字符串是可以由用户配置的。例如:

  • 在 Firefox 中,你可以通过 about:config 修改 general.useragent.override 偏好设置来更改用户代理。一些 Firefox 扩展程序也会这样做;然而,这只会更改发送的 HTTP 标头以及 navigator.userAgent 返回的内容。此外,还可能存在其他利用 JavaScript 代码来识别浏览器的办法。
  • Opera 6 及更高版本允许用户通过菜单设置浏览器标识字符串。

一个字符串,用于指定浏览器在 HTTP 标头以及当前属性和 Navigator 对象的其他相关方法的响应中提供的完整用户代理字符串。

用户代理字符串遵循严格的结构,可以分解为多个信息片段。每个信息片段都来自其他用户代理属性,这些属性也可以由用户设置。有关用户代理字符串格式的更多信息,请参阅 User-agent HTTP 标头。

示例

js
alert(window.navigator.userAgent);
// 弹出“Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0”

规范

Specification
HTML Standard
# dom-navigator-useragent-dev

浏览器兼容性

BCD tables only load in the browser

参见