navigator对象的内存储的是说有的关于浏览器的信息。
navigator中的对象集合plugins.
控制台代码---------------------------------
navigator.plugins
返回结果-----------------------------------
+ PluginArray {0: Plugin, 1: Plugin, 2: Plugin, 3: Plugin, length: 4}
-> 0:Plugin
-> 1:Plugin
-> 2:Plugin
-> 3:Plugin
-> length:4
-> __proto__:Object
plugins用W3C中的话来说就是对文档中所有的嵌入式对象的引用。
它是一个Plugin对象的数组,其中的元素表示的是浏览器安装了的插件,Plugin对象种包含的是当前的插件的信息,包括支持的MIME的类型的列表
P.S. ----(MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。)

如图所示的就是在chrome控制台显示的内容,红框部分是Plugin对象的MIME类型列表部分。但是如果直接向显示Plugin的时候浏览器会显示的是
function Plugin() {[native code]},说明Plugin是javascript内部实现的。
Navigator对象中的常用属性如下表中的属性可以获取:
| 属性 | 描述 |
|---|---|
| appCodeName | 返回浏览器的代码名。 |
| appMinorVersion | 返回浏览器的次级版本。 |
| appName | 返回浏览器的名称。 |
| appVersion | 返回浏览器的平台和版本信息。 |
| browserLanguage | 返回当前浏览器的语言。 |
| cookieEnabled | 返回指明浏览器中是否启用 cookie 的布尔值。 |
| cpuClass | 返回浏览器系统的 CPU 等级。 |
| onLine | 返回指明系统是否处于脱机模式的布尔值。 |
| platform | 返回运行浏览器的操作系统平台。 |
| systemLanguage | 返回 OS 使用的默认语言。 |
| userAgent | 返回由客户机发送服务器的 user-agent 头部的值。 |
| userLanguage | 返回 OS 的自然语言设置。 |

由上图可见,在chrome中的显示内容。
说一下以下几个属性:
- geolocation是浏览器提供的获取用户当前位置信息的API,但是同时的浏览器也会注重用户个人隐私,当我们获取用户当前位置信息之前会询问用户是否共享。
- language返回的是浏览器上的用户首选语言,通常情况之下是UI语言(默认语言)。当然这只是文档中规定的。在实际的测试中,firefox上的显示时返回用户首选语言,而在IE和chrome上面返回的则是当前浏览器语言。
- hardwareConcurrency的定义,我查看了WIkI,其中的内容是这样的:This specification defines an API for reading the system's total number of logical processors available to the user agent,翻译过来的意思就是定义了一个用于读取对于用户代理可用的系统逻辑借口的总数的API。其用意实在辅助编程人员决定并行的线程池的大小。
- maxTouchPoints表示的是当前的设备支持同时多少点的触碰。
- mediaDevices返回的将会是一个MediaDevice对象,其提供链接多媒体输入设备的方法。例如照相机,麦克风,或是screenSharing(屏幕共享!)
当然在W3C种还提到了navigator对象的两个方法。
javaEnabled() 规定浏览器是否启用 Java。
taintEnabled() 规定浏览器是否启用数据污点 (data tainting)。
当然在MDN中也提到了许多的其他的方法,但是有许多并不是标准之中的而且并不是大部分浏览器都是有所以这里只是待过,有兴趣的可以看看。上连接:
浙公网安备 33010602011771号