Navigator: userAgent 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

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

注意: 规范要求浏览器在此字段中提供尽可能少的信息。切勿假定此属性的值在同一浏览器的未来版本中保持不变。尽量不要使用它,或者仅用于浏览器当前和过去版本。新浏览器可能会开始使用与旧浏览器相同的 UA 或部分 UA:您真的无法保证浏览器代理确实是此属性所宣传的那个。

同时也要记住,浏览器用户可以根据自己的意愿更改此字段的值(UA 欺骗)。

基于检测用户代理字符串的浏览器标识是不可靠的,并且不推荐这样做,因为用户代理字符串是用户可配置的。例如:

  • 在 Firefox 中,您可以在 about:config 中更改 general.useragent.override 首选项。一些 Firefox 扩展会这样做;然而,这只会更改发送的 HTTP 标头以及 navigator.userAgent 返回的值。可能还有其他方法可以利用 JavaScript 代码来识别浏览器。
  • Opera 6+ 允许用户通过菜单设置浏览器标识字符串。

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

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

示例

js
alert(window.navigator.userAgent);
// alerts "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"

规范

规范
HTML
# dom-navigator-useragent-dev

浏览器兼容性

另见