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 ...
随机推荐
- swift material
import UIKit extension UIColor { convenience init(hex:Int, alpha:CGFloat=1.0) { let red = CGFloat((h ...
- poj Pie
http://poj.org/problem?id=3122 #include<cstdio> #include<cstring> #include<cmath> ...
- 如何删除windows服务(sc.exe删除和注册表删除两种方法)
一.什么是Windows服务 Windows服务也称为Windows Service,它是Windows操作系统和Windows网络的基础,属于系统核心的一部分,它支持着整个Windows的各种操作. ...
- Linux命令之yes
yes命令用于重复输出字符串(output a string repeatedly until killed).这个命令可以帮你自动回答命令行提示,例如,进入一个含有多个文件的目录,执行 " ...
- thickbox 关于动态生成 无法跳出弹出框的问题
问题描述: 用jQuery动态生成thickbox的连接代码,发现没有效果. 原因: thickbox在页面加载后,会给a,input,area等绑定弹出事件. 通过tb_init(’a.thickb ...
- (转载)PHP mb_substr函数在实际编码中的应用方法
(转载)http://developer.51cto.com/art/200912/166080.htm 我们在使用PHP语言进行实际编码中时,通常会遇到许多错误的出现,比如在截取字符串时会出现乱码等 ...
- GruntJs安装及使用入门(自定义grunt任务,合并压缩js、css)
一.Grunt.js简介(实现自动化) 1)简要说明: 1.GruntJs是基于node的javascript命令行工具,可以自动化构建.测试.生成文档的项目管理工具: 2.使用GruntJs可以自动 ...
- “/”应用程序中的服务器错误。 / c:\windows\temp目录权限设置
说明: 1 对该目录的权限是ASP.net生成编译运行的临时文件需要,ASP不需要这个目录是因为ASP的脚本代码是解释执行. 2 Windows2003默认的设置是可以正常运行ASP.net的,造成问 ...
- 关于java函数参数的修改能否带出来
结论 1. java的8个基本类型,无论是简单类型(比如int)还是类类型(比如Integer),传到形参里的变量,在函数体内修改之后是带不出来的. 2. String类型也是带不出来的. 3. 数组 ...
- SRM475 - SRM479(1-250pt,500pt)
SRM 475 DIV1 300pt 题意:玩游戏.给一个棋盘,它有1×n(1行n列,每列标号分别为0,1,2..n-1)的格子,每个格子里面可以放一个棋子,并且给定一个只含三个字母WBR,长度为n的 ...