BOM Navigator
window.navigator 对象是 Navigator 接口的实例,表示浏览器的状态和标识。
window.navigator
对象是 Navigator
接口的实例,表示浏览器的信息、状态和标识。
window.navigator
对象可以省略 window
前缀。
一些例子:
navigator.appName
navigator.appCodeName
navigator.platform
是否启用 Cookie ?
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
数据 - 一些浏览器错误识别自己以绕过站点测试
- 浏览器不能报告晚于浏览器发布的新操作系统,