JavaScript navigator 对象包含有关浏览器的信息。navigator 对象包含的属性描述了正在使用的浏览器。navigator 对象是 window 对象的属性,因而可以使用 window.navigator 来引用它,实际使用时一般省略 window。
navigator 没有统一的标准,因此各个浏览器都有自己不同的 navigator 版本。下面将介绍各个 navigator 对象中普遍支持且常用的一些属性和方法。
navigator 对象的常用属性见表 1。
属性 | 描述 |
---|---|
appCodeName | 返回浏览器的代码名 |
appMinorVersion | 返回浏览器的次级版本 |
appName | 返回浏览器的名称 |
appVersion | 返回浏览器的平台和版本信息 |
browserLanguage | 返回当前浏览器的语言 |
cookieEnabled | 返回指明浏览器中是否启用 cookie,如果启用则返回 true,否则返回 false |
platform | 返回运行浏览器的操作系统平台 |
systemLanguage | 返回 OS 使用的默认语言 |
userAgent | 返回由客户炳发送服务器的 use.agent 头部的值 |
上述属性中,最常用的是 userAgent 和 cookieEnabled,前者主要用于判断浏览器的类型,后者则用于判断用户浏览器是否开启了 cookie。
navigator 对象的常用方法见表 2。
方法 | 描述 |
---|---|
javaEnabled() | 规定浏览器是否启用 Java |
preference() | 用于取得浏览器的爱好设置 |
访问 navigator 对象属性和方法的方式如下:
【例 1】navigator 对象的使用。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>navigator对象的使用</title>
<script>
if (navigator.userAgent.toLowerCase().indexOf("trident") > -1){
alert('你使用的是IE'+', 浏览器的cookie启用了吗?'+navigator.cookieEnabled);
}else if(navigator.userAgent.indexOf('Firefox') >= 0){
alert('你使用的是Firefox'+', 浏览器的cookie启用了吗?'+navigator.cookieEnabled);
}else if(navigator.userAgent.indexOf('Opera') >= 0){
alert('你使用的是Opera'+', 浏览器的cookie启用了吗?'+navigator.cookieEnabled);
}else if(navigator.userAgent.indexOf("Safari")>0){
alert('你使用的是Safari'+', 浏览器的cookie启用了吗?'+navigator.cookieEnabled);
}else{
alert('你使用的是其他的浏览器浏览网页!');
}
</script>
</head>
<body>
</body>
</html>
上述脚本代码使用了 navigator 对象来判断浏览器的类型以及是否启用了 cookie。上述代码在 IE、Firefox 和 Chrome 浏览器中的运行结果分别如图 1、图 2 和图 3 所示。