Navigator 对象 深入研究

原创
2017/10/29 00:12
阅读数 182

一、navigator

Navigator 对象包含有关浏览器的信息。

==注释:没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象。==

Navigator 对象集合

集合 描述
plugins[] 返回对文档中所有嵌入式对象的引用。<br>该集合是一个 Plugin 对象的数组,其中的元素代表浏览器已经安装的插件。Plug-in 对象提供的是有关插件的信息,其中包括它所支持的 MIME 类型的列表。<br> 虽然 plugins[] 数组是由 IE 4 定义的,但是在 IE 4 中它却总是空的,因为 IE 4 不支持插件和 Plugin 对象。

Navigator 对象属性

属性 描述
appCodeName 返回浏览器的代码名。
appMinorVersion 返回浏览器的次级版本
appName 返回浏览器的名称。
appVersion 返回浏览器的平台和版本信息。
browserLanguage 返回当前浏览器的语言
cookieEnabled 返回指明浏览器中是否启用cookie的布尔值
cpuClass 返回浏览器系统的CPU等级。
onLine 返回指明系统是否处于脱机模式的布尔值。
platform 返回运行浏览器的操作系统平台。
systemLanguage 返回OS(操作系统)使用的默认语言。
userAgent 返回有客户机发送服务器的user-agent 头部的值。
userLanguage 返回 OS 的自然语言设置。
userProfile 返回用户的档案设置。
language 返回浏览器应用程序的语言代码。

Navigator 对象方法

方法 描述
javaEnabled() 规定浏览器是否启用 Java。
taintEnabled() 规定浏览器是否启用数据污点 (data tainting)。

Navigator 对象描述

Navigator 对象包含的属性描述了正在使用的浏览器。可以使用这些属性进行平台专用的配置。

虽然这个对象的名称显而易见的是 Netscape 的 Navigator 浏览器,但其他实现了 JavaScript 的浏览器也支持这个对象。

Navigator 对象的实例是唯一的,可以用 Window 对象的 navigator 属性来引用它。


二、Navigator 对象方法 详介绍

1、appCodeName 属性

  • 定义和用法

appCodeName 属性是一个只读字符串,声明了浏览器的代码名。

在所有以 Netscape 代码为基础的浏览器中,它的值是 "Mozilla"。为了兼容起见,在 Microsoft 的浏览器中,它的值也是 "Mozilla"。

  • 语法
navigator.appCodeName
  • 使用
<script>
console.log(navigator.appCodeNanme)
</script>

2、appMinorVersion 属性

  • 定义和用法

appMinorVersion 属性可返回浏览器的次要版本。

  • 语法
navigator.appMinorVersion
  • 使用
<script>
console.log(navigator.userAgent.toLowerCase())

/** "mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/56.0.2924.87 safari/537.36" */
</script>
  • IE mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0)
  • 360 mozilla/4.0 (compatible; msie 8.0; windows nt 5.1; trident/4.0; 360se)
  • 搜狗 mozilla/4.0 (compatible; msie 7.0; windows nt 5.1; trident/4.0; se 2.x metasr 1.0)
  • 世界之窗 mozilla/4.0 (compatible; msie 7.0; windows nt 5.1; trident/4.0)
  • 遨游 mozilla/5.0 (windows nt 5.1) applewebkit/535.12 (khtml, like gecko) maxthon/3.3.4.4000 - chrome/18.0.966.0 safari/535.12
  • 火狐 mozilla/5.0 (windows nt 5.1; rv:8.0.1) gecko/20100101 firefox/8.0.1
  • 谷歌 mozilla/5.0 (windows nt 5.1) applewebkit/535.11 (khtml, like gecko) chrome/17.0.963.26 - safari/535.11
  • opera opera/9.80 (windows nt 5.1; u; edition next; zh-cn) presto/2.10.255 version/12.00

3、appName 属性

  • 定义和用法

appName 属性可返回浏览器的名称。

appName 属性是一个只读到字符串,声明了浏览器的名称。在基于 Netscape 的浏览器中,这个属性的值是 "Netscape"。在 IE 中,这个属性的值是 "Microsoft Internet Explorer"。其他浏览器可以正确地表示自己或者伪装成其他的浏览器以达到兼容性。

  • 语法
navigator.appName
  • 使用
navigator.appName

4、appVersion 属性

  • 定义和用法

appVersion 属性可返回浏览器的平台和版本信息。该属性是一个只读的字符串。 改字符串的第一部分是版本号。把该字符串传递给 parseInt()只能获取主版本号。该属性的其余部分提供了有关浏览器版本的其他细节,包括运行它的操作系统的信息。

  • 语法
navigator.appVersion
  • 使用
console.log(navigator.appVersion)
/** "5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" */

==注释:不同浏览器提供的信息的格式是不同的。==

4、browserLanguage 属性

  • 定义和用法

browserLanguage 属性可返回当前浏览器的语言。

  • 语法
navigator.browserLanguage
  • 使用
navigator.browserLanguage

/** "zh-CN" */

5、cookieEnabled 属性

  • 定义和用法

cookieEnabled 属性可返回一个布尔值,如果浏览器启用了cookie,该属性值为true。如果禁用了cookie,则值为false。

  • 语法
navigator.cookieEnabled
  • 使用
<script>
    console.log(navigator.cookieEnabled)
    /** true */
</script>

6、cpuClass 属性

  • 定义和用法

cpuClass 属性可返回浏览器系统的CPU等级

  • 语法
navigator.cpuClass
  • 使用
<script>
    console.log(navigator.cpuClass)
    /** "x86" IE*/
    /** undefined Chrome */
</script>

7、onLine 属性

  • 定义和用法

onLine 属性是一个只读的布尔值,声明了系统是否处于脱机模式

  • 语法
navigator.onLine
  • 使用
<script>
    console.log(navigator.onLine)
    /** true */
</script>

8、platform 属性

  • 定义和用法

platform 属性是一个只读的字符串,声明了运行浏览器的操作系统和(或)硬件平台。
虽然该属性没有标准的值集合,但它有些常用值,比如 "Win32"、"MacPPC" 以及 "Linuxi586",等等。

  • 语法
navigator.platform
  • 使用
<script>
    console.log(navigator.platform)
    /** "Win32" */
</script>

9、systemLanguage 属性

  • 定义和用法

systemLanguage 属性可返回操作系统使用的默认语言。

  • 语法
navigator.systemLanguage
  • 使用
<script>
    console.log(navigator.systemLanguage)
    /** "zh-CN" IE */
</script>

10、userAgent 属性

  • 定义和用法

userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。
一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。
例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。

==注:用户代理头:user-agent header。==

  • 语法
navigator.userAgent
  • 使用
<script>
    console.log(navigator.userAgent)
    /** Chrome "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"  */
    /** IE "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)" */
</script>

11、userLanguage 属性

  • 定义和用法

userLanguage 属性可返回操作系统的自然语言设置。

  • 语法
navigator.userLanguage
  • 使用
<script>
    console.log(navigator.userLanguage)
    /** "zh-CN" IE */
</script>
展开阅读全文
打赏
0
2 收藏
分享
加载中
更多评论
打赏
0 评论
2 收藏
0
分享
返回顶部
顶部