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 ...
随机推荐
- 《简明python教程》学习笔记,长文
引号: 单引号:如果包含的字符串里有单引号的话,需要在那个单引号里加转义符号,或者使用双引号 例:print 'he"llo' or print 'he\'llo' ===> h ...
- Open vSwitch源码阅读【转】及自己的理解【稍后更新】
http://blog.chinaunix.net/uid-24485075-id-2240075.html
- 基于ffmpeg网络播放器的教程与总结
基于ffmpeg网络播放器的教程与总结 一. 概述 为了解决在线无广告播放youku网上的视频.(youku把每个视频切换成若干个小视频). 视频资源解析可以从www.flvcd. ...
- jquery validate 自定义验证方法 日期验证
jquery validate有很多验证规则,但是更多的时候,需要根据特定的情况进行自定义验证规则. 这里就来聊一聊jquery validate的自定义验证. jquery validate有一个方 ...
- -_-#【事件】keyCode
- uglifyjs压缩js文件(指令压缩/ 批量压缩/ 编程方式压缩)
一.指令压缩 1.安装node,npm——详细见nodejs安装与使用入门 2.安装 uglifyjs——npm install -g uglify-js 3.压缩例子:1)uglifyjs mai ...
- mergeIDE
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDe ...
- B - Networking - poj 1287
有一些地方需要铺盖电缆,这些地方两点间的路可能不止一条,需要求出来至少需要多少电缆才能让所有的点都连接起来,当然,间接连接也算. /////////////////////////////////// ...
- error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile
error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile 今天是2013-08-04,在安装oracle11g r2 数据 ...
- [Javascript ] Array methods in depth - sort
Sort can automatically arrange items in an array. In this lesson we look at the basics including how ...