navigator

JavaScript

JavaScript语言参考手册      技术交流 :迷途知返 pwwang.com
JavaScript手册
【目录】 【上一页】 【下一页】 【索引】

navigator

包含了正在使用的 Navigator 的版本信息。

客户端对象
实现版本 Navigator 2.0
Navigator 3.0: 添加了 mimeTypes 和 plugins 属性;添加了 javaEnabled 和
taintEnabled 方法。
Navigator 4.0: 添加了 language 和 platform 属性;添加了 preference 方法。

创建源

JavaScript 客户端运行时刻引擎自动创建 navigator 对象。

描述

使用 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

示例

下面的例子显示了 appCodeName 属性的值:

document.write("navigator.appCodeName 的值是 " +
   navigator.appCodeName)

对于 Navigator 2.0 和 3.0,此语句将显示下列文字:

navigator.appCodeName 的值是 Mozilla

appName

指定了浏览器名称的字符串。

属性源 navigator
只读
实现版本 Navigator 2.0

示例

下面的例子显示了 appName 属性的值:

document.write("navigator.appName 的值是 " +
   navigator.appName)
对于 Navigator 2.0 和 3.0,此语句将显示下列文字:

navigator.appName 的值是 Netscape

appVersion

指定了 Navigator 版本信息的字符串。

属性源 navigator
只读
实现版本 Navigator 2.0

描述

appVersion 属性将以下列格式指定版本信息:

releaseNumber (platform; country)

此格式中包含下列值:

  • releaseNumber 是 Navigator 的版本号。例如,“2.0b4
  • ”指定了 Navigator 2.0, beta 4。

  • 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 对象。

参看

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()

参看

taint, untaint


【目录】 【上一页】 【下一页】 【索引】

返回页面顶部