BOM Navigator

window.navigator 对象是 Navigator 接口的实例,表示浏览器的状态和标识。

window.navigator 对象是 Navigator 接口的实例,表示浏览器的信息、状态和标识。

window.navigator 对象可以省略 window 前缀。

一些例子:

  • navigator.appName
  • navigator.appCodeName
  • navigator.platform

navigator.cookieEnabled 属性返回浏览器是否启用了 cookie,如果启用返回 true,否则返回 false。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = "cookiesEnabled is " + navigator.cookieEnabled;
</script>

应用程序名称

navigator.appName 属性返回浏览器的应用程序名称。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = "navigator.appName is " + navigator.appName;
</script>

奇怪的是, IE11、Chrome、Firefox 和 Safari 的 navigator.appName 的值都是 Netscape

浏览器应用代码名称

navigator.appCodeName 属性返回浏览器的应用程序代码名称。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = "navigator.appCodeName is " + navigator.appCodeName;
</script>

Chrome、Firefox、IE、Safari 和 Opera 的 navigator.appCodeName 的值都是 Mozilla

浏览器引擎

navigator.product 属性返回浏览器引擎的产品名称。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = "navigator.product is " + navigator.product;
</script>

任何浏览器的 navigator.product 都会返回 Gecko ,此属性只用于兼容的目的。

浏览器版本

navigator.appVersion 属性返回有关浏览器的版本信息,并不保证此值的正确性。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = navigator.appVersion;
</script>

用户代理

navigator.userAgent 属性返回当前浏览器的用户代理。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = navigator.userAgent;
</script>

浏览器平台

navigator.platform 属性返回浏览器平台(操作系统)。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = navigator.platform;
</script>

浏览器语言

navigator.language 属性返回浏览器的语言。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = navigator.language;
</script>

浏览器上线了吗?

navigator.onLine 如果浏览器联网,该属性返回 true,否则返回 false。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = navigator.onLine;
</script>

是否启用 Java ?

navigator.javaEnabled() 属性检测浏览器启用了 Java,如果启用了返回 true,否则返回 false。

<p id="demo"></p>

<script>
  document.getElementById("demo").innerHTML = navigator.javaEnabled();
</script>

警告

来自 navigator 对象的信息很多具有误导性,因为很多属性都是为了兼容性存在的,浏览器并不保证正确性。

不应用使用 navigator 对象的信息检测浏览器版本,因为:

  • 不同的浏览器可以使用相同的名称
  • 浏览器所有者可以更改 navigator 数据
  • 一些浏览器错误识别自己以绕过站点测试
  • 浏览器不能报告晚于浏览器发布的新操作系统,