navigator对象是最早实现的BOM对象之一,Netscape Navigator 2.0和IE 3.0引入了它。它包含大量有关Web浏览器的信息。它也是window对象的属性,可以用window.navigator引用它,也可以用navigator引用。
虽然微软公司最初把Netscape的浏览器称为navigator,但navigator对象成了一种事实标准,用于提供Web浏览器的信息。(微软除navigator外,还有自己的对象clientInfomation,但它们两个提供的数据完全相同。)
同样,缺乏标准阻碍了navigator对象的发展,因为各个浏览器决定支持该对象的属性和方法。下表列出了最常用的属性和方法以及最常用的四种浏览器(IE、Mozilla、Opera和Safari)中哪个支持它们。
属性/方法 |
说 明 |
IE |
Moz |
Op |
Saf |
appCodeName |
浏览器代码名的字符串表示(如"Mozilla") |
× |
× |
× |
× |
appName |
官方浏览器名的字符串表示 |
× |
× |
× |
× |
appMinorVersion |
额外版本信息的字符串表示 |
× |
- |
- |
- |
appVersion |
浏览器版本信息的字符串表示 |
× |
× |
× |
× |
browserLanguage* |
浏览器或操作系统的语言的字符串表示 |
× |
- |
× |
- |
cookieEnabled |
说明是否启用了cookie的Boolean值 |
× |
× |
× |
- |
cpuClass |
CPU类别的字符串表示("x86"、"68K"、"Alpha"、"PPC"或"other") |
× |
- |
- |
- |
javaEnabled() |
说明是否启用了Java的Boolean值 |
× |
× |
× |
× |
language |
浏览器语言的字符串表示 |
- |
× |
× |
× |
(续)
属性/方法 |
说 明 |
IE |
Moz |
Op |
Saf |
|
注册到浏览器的mime类型的数组 |
- |
× |
× |
× |
onLine |
说明浏览器是否连接到因特网上的Boolean值 |
× |
- |
- |
- |
oscpu |
操作系统或CPU的字符串表示 |
- |
× |
- |
- |
platform |
运行浏览器的计算机平台的字符串表示 |
× |
× |
× |
× |
plugins |
安装在浏览器中的插件的数组 |
× |
× |
× |
× |
preference() |
用于设置浏览器首选项的函数 |
- |
× |
× |
- |
product |
产品名的字符串表示(如"Gecko") |
- |
× |
- |
× |
productSub |
有关产品的额外信息的字符串表示(如Gecko版本) |
- |
× |
- |
× |
opsProfile |
|
- |
- |
- |
- |
securityPolicy |
|
- |
× |
- |
- |
systemLanguage* |
操作系统语言的字符串表示 |
× |
- |
- |
- |
taintEnabled() |
说明是否启用了数据感染的Boolean值 |
× |
× |
× |
× |
userAgent |
用户代理头字符串的字符串表示 |
× |
× |
× |
× |
userLanuage* |
操作系统语言的字符串表示 |
× |
- |
- |
- |
userProfile |
允许访问浏览器用户档案的对象 |
× |
- |
- |
- |
vendor |
品牌浏览器名的字符串表示(如"Netscape6"或"Netscape") |
- |
× |
- |
× |
vendorSub |
品牌浏览器的额外信息的字符串表示(如Netscape的版本) |
- |
× |
- |
× |
* 大多数情况下,browserLanguage、systemLanguage和userLanguage相同。
在判断浏览器页面采用的是哪种浏览器方面时,navigator对象非常有用。在因特网上可迅速检索到许多检测浏览器的方法,它们都大量地利用了navigator对象。第9章将介绍如何用navigator对象检测浏览器及操作系统。