javascript的navigator对象
转载: http://www.itlearner.com/code/js_ref/brow1.htm
包含了正在使用的 Navigator 的版本信息。
| 客户端对象 | |
| 实现版本 | Navigator 2.0 Navigator 3.0: 添加了 mimeTypes 和 plugins 属性;添加了 javaEnabled 和 taintEnabled 方法。 Navigator 4.0: 添加了 language 和 platform 属性;添加了 preference 方法。 |
创建源
描述
使用 navigator 对象可以决定你的用户正在使用的 Navigator 的版本,用户的 Navigator 可以控制的 MIME 类型,用户已经安装的插件。所有这些 navigator 的属性都是只读的。
属性概览
| appCodeName | 指定浏览器的代码名称。 |
| appName | 指定浏览器的名称。 |
| appVersion | 指定 Navigator 的版本信息。 |
| language | 标明正在使用的 Navigator 的翻译语种。 |
| mimeTypes | 客户端支持的所有 MIME 类型数组。 |
| platform | 标明了 Navigator 编译适合的机器类型。 |
| plugins | 客户端已安装的所有插件数组。 |
| userAgent | 指定了用户代理头。 |
方法概览
| javaEnabled | 测试是否允许 Java。 |
| plugins.refresh | 使新安装的插件有效,并可选重新装入已打开的包含插件的文档。 |
| preference | 允许一个已标识的脚本获取并设置特定的 Navigator 参数。 |
| taintEnabled | 指定是否允许数据污点。 |
属性
appCodeName
| 属性源 | navigator |
| 只读 | |
| 实现版本 | Navigator 2.0 |
示例
document.write("navigator.appCodeName 的值是 " + navigator.appCodeName) 对于 Navigator 2.0 和 3.0,此语句将显示下列文字:
navigator.appCodeName 的值是 Mozilla
appName
| 属性源 | navigator |
| 只读 | |
| 实现版本 | Navigator 2.0 |
示例
document.write("navigator.appName 的值是 " + navigator.appName) 对于 Navigator 2.0 和 3.0,此语句将显示下列文字:
navigator.appName 的值是 Netscape
appVersion
| 属性源 | navigator |
| 只读 | |
| 实现版本 | Navigator 2.0 |
描述
releaseNumber (platform; country)
此格式中包含下列值:
releaseNumber 是 Navigator 的版本号。例如,“2.0b4
- platform 是 Navigator 运行的平台。例如,“Win16”指定了 16 位版本的 Windows,如 Windows 3.1。
- country 对于国际版本来说是“I”,对于美国本土版本来说是“U”。本土版本相对于国际版本来说,有更强的加密特性。
示例
示例 1. 下面的例子将显示 Navigator 的版本信息:
document.write("navigator.appVersion 的值是 " + navigator.appVersion) 对于在 Windows 95 上运行的 Navigator 2.0,将显示下列信息: navigator.appVersion 的值是 2.0 (Win95, I)
对于在 Windows NT 上运行的 Navigator 3.0,将显示下列信息: navigator.appVersion 的值是 3.0 (WinNT, I)
示例 2. 下面的例子将用换行符分隔每一行字符来填充 Textarea 对象。因为换行字符会根据不同的平台而有不同,示例将测试 appVersion 属性决定用户是否正在运行 Windows (appVersion 对于所有版本的 Windows 来说都包含“Win”)。如果用户正在运行 Windows,换行符将设定为 \r\n;否则将设定为 \n,这是针对 Unix 和 Macintosh 来说的。
<SCRIPT> var newline=null function populate(textareaObject){ if (navigator.appVersion.lastIndexOf('Win') != -1) newline="\r\n" else newline="\n" textareaObject.value="第一行" + newline + "第二行" + newline + "line 3" } </SCRIPT> <FORM NAME="form1"> <BR><TEXTAREA NAME="testLines" ROWS=8 COLS=55></TEXTAREA> <P><INPUT TYPE="button" VALUE="填充 Textarea 对象" onClick="populate(document.form1.testLines)"> </TEXTAREA> </FORM>
language
标明了正在使用的 Navigator 的翻译版本。
| 属性源 | navigator |
| 只读 | |
| 实现版本 | Navigator 4.0 |
描述
language 的值通常是两个字母的代码,如“en”;某些情况下也可能是五个字符的代码以标明语言子类型,如“zh_CN”。
使用该属性可以决定客户使用的 Navigator 的语言版本,你可能想要为不同语言的用户显示不同的翻译文本。
mimeTypes
一个包含有客户端所有支持的 MIME 类型的数组。
| 属性源 | navigator |
| 只读 | |
| 实现版本 | Navigator 3.0 |
mimeTypes 数组包含了客户端支持的每一个 MIME 类型(实际上,这是由帮助应用程序或插件实现的)。例如,如果一个客户端支持三种 MIME 类型,这些 MIME 类型将被反映到 navigator.mimeTypes[0]、navigator.mimeTypes[1],和 navigator.mimeTypes[2] 中。
mimeTypes 数组的每一个元素都是一个 MimeType 对象。
platform
标明了 Navigator 编译的机器类型。
| 属性源 | navigator |
| 只读 | |
| 实现版本 | Navigator 4.0 |
描述
Platform 值可能是 Win32、Win16、Mac68k、MacPPC 和各种 Unix。
由于版本差异、模拟器或其它原因,Navigator 根据不同的机器类型编译的版本会有一定的出入。
如果你使用 SmartUpdate 向用户机器上下载软件,就可以使用此特性保证触发器下载的是对应的 JAR 文件。触发页将在检查 platform 属性前检查 Navigator 的版本。要获得关于使用 SmartUpdate 更多的信息,请参看将 JAR 安装管理器用于 SmartUpdate。
plugins
包含了客户端目前安装的所有插件的数组。
| 属性源 | navigator |
| 只读 | |
| 实现版本 | Navigator 3.0 |
使用本数组可以引用客户端安装的 Plugin 对象。plugins 数组的每个元素都是一个 Plugin 对象。例如,如果在客户端安装了三个插件,这三个插件将被映射为 navigator.plugins[0]、navigator.plugins[1] 和 navigator.plugins[2].
要使用 plugins 数组:
1. navigator.plugins[index] 2. navigator.plugins[index][mimeTypeIndex] index 是一个表明客户端所安装插件顺序的整型数,或者是包含 Plugin 对象名称(可从 name 属性中查到)的字符串。第一种格式将返回存储在 plugins 数组中指定位置的 Plugin 对象。第二种格式将返回该 Plugin 对象中的 MimeType 对象。
要获得客户端已安装的插件数目,可以使用 length 属性:navigator.plugins.length。
plugins.refresh: plugins 数组有其自己的方法,refresh。此方法将使得最新安装的插件可用,更新相关数组,如 plugins 数组,并可选重新装入包含插件的已打开文档。你可以使用下列语句调用该方法:
navigator.plugins.refresh(true) navigator.plugins.refresh(false) 如果你给定 true 的话,refresh 将在使得新安装的插件可用的同时,重新装入所有包含有嵌入对象(EMBED 标签)的文档。如果你给定 false 的话,该方法则只会刷新 plugins 数组,而不会重新载入任何文档。
当用户安装插件后,该插件将不会可用,除非调用了 refresh,或者用户关闭并重新启动了 Navigator。
示例
下面的代码将刷新数组并重新装入包含有嵌入对象的文档:
navigator.plugins.refresh(true) 同时可参看 Plugin 对象的示例。
userAgent
该字符串表明从客户端向服务器发送的 HTTP 协议用户代理头的值。
| 属性源 | navigator |
| 只读 | |
| 实现版本 | Navigator 2.0 |
描述
服务器使用在用户代理头中发送的值来鉴别客户。
示例
下面的例子将显示 Navigator 中的 userAgent 信息:
document.write("navigator.userAgent 的值是 " + navigator.userAgent) 对于 Navigator 2.0,将显示下列内容:
navigator.userAgent 的值是 Mozilla/2.0 (Win16; I)
方法
javaEnabled
测试是否允许 Java。
| 方法源 | navigator |
| 静态 | |
| 实现版本 | Navigator 3.0 |
语法
javaEnabled()
参数
无。
描述
如果允许 Java 的话,javaEnabled 将返回 true;否则将返回 false。用户可以通过用户首选项的参数设置启用或禁用 Java。
示例
下面的代码将在允许 Java 的情况下执行 function1;否则执行 function2。
if (navigator.javaEnabled()) { function1() } else function2()
参看
navigator.appCodeName, navigator.appName, navigator.userAgent
preference
允许标识的脚本获取并设置某些 Navigator 的首选项。
| 方法源 | navigator |
| 静态 | |
| 实现版本 | Navigator 4.0 |
语法
preference(prefName) preference(prefName, setValue)
参数
| prefName | 表明了你想要获取或设置的首选项的名称。可以选用下面列出的首选项。 |
| setValue | 你想要为首选项指定的值。可以是字符串、数值或布尔值。 |
描述
本方法将返回首选项的值。如果你使用本方法设置值,则将返回新值。
安全性
使用 preference 方法读取首选项需要有 UniversalPreferencesRead 权限。用此方法设置首选项需要有 UniversalPreferencesWrite 权限。
要获得关于 Navigator 4.0 中的安全性的更详细信息,请看“JavaScript 指南”中的第七章“JavaScript 安全性”。
在得到许可的情况下,你可以获取和设置在表 8.2 中列出的首选项。
表 8.2 参数选择
| 要做下列事... | 设置此参数... | 为... |
|---|---|---|
| 允许或禁止自动装入图像 | general.always_load_images | true 或 false |
| 允许或禁止 Java | security.enable_java | true 或 false |
| 允许或禁止 JavaScript | javascript.enabled | true 或 false |
| 允许或禁止样式表 | browser.enable_style_sheets | true 或 false |
| 允许或禁止 SmartUpdate | autoupdate.enabled | true 或 false |
| 接受所有 cookie | network.cookie.cookieBehavior | 0 |
| 只接受发送回原始服务器的 cookie | network.cookie.cookieBehavior | 1 |
| 禁止 cookie | network.cookie.cookieBehavior | 2 |
| 接受 cookie 前警告 | network.cookie.warnAboutCookies | true 或 false |
taintEnabled
指定是否允许数据污点。
| 方法源 | navigator |
| 静态 | |
| 实现版本 | Navigator 3.0; 在 Navigator 4.0中已删除 |
语法
navigator.taintEnabled()
描述
污点将避免其它脚本传递绝密和私有的信息,例如目录结构或用户浏览历史。JavaScript 不能在没有最终用户许可的情况下向任何服务器发送带有污点的值。
可以使用 taintEnabled 决定是否允许数据污点。如果允许数据污点的话,taintEnabled 将返回 true,否则返回 false。用户可以环境变量 NS_ENABLE_TAINT 启用或禁用数据污点。
示例
下面的代码将在允许数据污点的情况下执行 function1;否则执行 function2。
if (navigator.taintEnabled()) { function1() } else function2()
javascript的navigator对象的更多相关文章
- JavaScript 之 navigator 对象
navigator 对象可以查看用户所使用的浏览器类型和系统平台类型. 1.userAgent 通过 userAgent 可以判断用户浏览器的类型. Chrome 浏览器效果: 2.platform ...
- JavaScript基础--DOM对象(十三):(windows对象:history\location\navigator\screen\event)
DOM编程1.为什么要学习DOM(1) 通过dom编程,我们可以写出各种网页游戏(2)dom编程也是ajax的重要基础2.DOM编程介绍DOM = Document Object Model(文档对象 ...
- JavaScript navigator 对象(转)
navigator -- navigator对象通常用于检测浏览器与操作系统的版本 navigator,中文"导航器" 引用网址:http://www.dreamdu.com/ja ...
- JavaScript -- 时光流逝(九):Window 对象、Navigator 对象
JavaScript -- 知识点回顾篇(九):Window 对象.Navigator 对象 1. Window 对象 1.1 Window 对象的属性 (1) closed: 返回窗口是否已被关闭. ...
- javascript Navigator对象属性和方法
Navigator对象 Navigator 对象包含的属性描述了正在使用的浏览器.可以使用这些属性进行平台专用的配置.虽然这个对象的名称显而易见 的是 Netscape 的 Navigator 的浏览 ...
- JavaScript BOM-11-BOM的核心-window对象; window对象的控制,弹出窗口方法; 超时调用; 间歇调用; location对象常用属性; 位置操作--location.reaplace,location.reload(); BOM中的history对象; Screen对象及其常用属性; Navigator对象;
JavaScript BOM 学习目标 1.掌握什么是BOM 2.掌握BOM的核心-window对象 3.掌握window对象的控制.弹出窗口方法 什么是bom BOM(browser object ...
- JavaScript浏览器检测之navigator 对象
一.使用客户端检测的原因 由于每个浏览器都具有自己独到的扩展,所以在开发阶段来判断浏览器是一个非常重要的步骤. 虽然浏览器开发商在公共接口方面投入了很多精力,努力的去支持最常用的公共功能: 但在现实中 ...
- 谈谈JavaScript Navigator 对象属性
Navigator 对象属性 可以在Navigator对象上使用以下属性: 属性 描述 appCodeName 返回浏览器的代码名称 appName 返回浏览器的名称 appVersion 返回浏览器 ...
- JavaScript location对象、Navigator对象、Screen对象简介
Location对象 location用于获取或设置窗体的URL,并且可以用于解析URL. 语法: location.[属性|方法] Location对象属性 Location对象方法: Naviga ...
随机推荐
- LVS+PIRANHA测试
有一个知识盲点,是这个VIP,在四个服务器上都要设置? 现在只测试了两个机器,REAL SERVER没有开动. 如果LVS和REALSERVER都可以停一个作互切的话,那KEEPALIVED要它他什么 ...
- C51 库函数(2)
3.2 STDIO.H:一般I/O函数 C51编译器包含字符I/O函数,它们通过处理器的串行接口操作,为支持其它I/O机制,只需修改getkey()和putchar()函数,其它所有I/O支持函数依赖 ...
- u8818 G300的官方rom刷机包及详细的刷机方法
之前看到有些机友在找华为u8818的官方rom固件包,在这里我给大家分享一下这个手机的官方原版的固件rom包吧,有2.3的,也有4.0的,大家可以根据自己的需求来下载. 华为U8818官方2.3固件: ...
- 根据Hash分块存储文件
迷你云默认存储方式是Hash存储模式,文件内容存储在本地硬盘,而非明文存储模式 一.下图大致说明了情况 <ignore_js_op> 二.工作原理 1.假设用户上传了A.doc文件,迷你云 ...
- 错误 1 未能找到元数据文件“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/wwwroot/7cb4fcd
错误 1 未能找到元数据文件“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/wwwroot/7cb4fcd ...
- List的数据结构
从这张图片说起:TreeList的实现结构: 首先是构建函数 TreeList(Collection coll),调用增加函数: public void add(int index, Object o ...
- Java RMI 入门案例
Java Remote Method Invocation(Java RMI) 是一个 Java API, 执行远程方法的调用,相当于 Remote Procedure Calls(RPC).Java ...
- C++ STL之map常用指令
只记载本人在ACM中常用的函数. map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力. map内部为一颗 ...
- Android testing tools
引言 发现一篇关于android 测试的培训,英文的,很全面. Android Testing Training: http://www.vogella.com/training/android/an ...
- Java程序员容易犯的10个错误
1. Array 转 ArrayList 一般开发者喜欢用: List<String> list = Arrays.asList(arr); Arrays.asList() 会返回一个Ar ...