javascript是前端开发的主要语言,我们可以通过编写javascript 程序来判断浏览器的类型及版本。javascript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的 userAgent属性来判断的。在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题,而判断浏览器的版本一般只能通过分析浏览器的userAgent才能知道。
navigator对象
包含了正在使用的 Navigator 的版本信息。 javascript 客户端运行时刻引擎自动创建 navigator 对象。 详细的介绍可以参照【http://www.itlearner.com/code/js_ref/brow1.htm】,这里只是简单说下其属性和方法。
属性概览
appCodeName 指定浏览器的代码名称。
appName 指定浏览器的名称。
appVersion 指定 Navigator 的版本信息。
language 标明正在使用的 Navigator 的翻译语种。
mimeTypes 客户端支持的所有 MIME 类型数组。
platform 标明了 Navigator 编译适合的机器类型。
plugins 客户端已安装的所有插件数组。
userAgent 指定了用户代理头。
方法概览
javaEnabled 测试是否允许 Java。
plugins.refresh 使新安装的插件有效,并可选重新装入已打开的包含插件的文档。
preference 允许一个已标识的脚本获取并设置特定的 Navigator 参数。
taintEnabled 指定是否允许数据污点。
简单标注一下,判断浏览器的名称可以根据appName判断,例如:
var ie=navigator.appName == “Microsoft Internet Explorer” ? true : false;
浏览器的特征及其userAgent
关于各种浏览器的特征及其userAgent,可以参照【http://www.cnblogs.com/leadzen/archive/2008/09/06/1285764.html】,这篇文章介绍的比较详细。
简单罗列如下:
IE
只有IE支持创建ActiveX控件,因此她有一个其他浏览器没有的东西,就是ActiveXObject函数。
而IE各个版本典型的userAgent如下:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
其中,版本号是MSIE之后的数字。
Firefox
Firefox中的DOM元素都有一个getBoxObjectFor函数,用来获取该DOM元素的位置和大小(IE对应的中是getBoundingClientRect函数)。
这是Firefox独有的,判断它即可知道是当前浏览器是Firefox。
Firefox几个版本的userAgent大致如下:
Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1
Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3
Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12 其中,版本号是Firefox之后的数字。
Opera
Opera提供了专门的浏览器标志,就是window.opera属性。
Opera典型的userAgent如下:
Opera/9.27 (Windows NT 5.2; U; zh-cn)
Opera/8.0 (Macintosh; PPC Mac OS X; U; en)
Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0
其中,版本号是靠近Opera的数字。
[本文共有 2 页,当前是第 1 页] <<上一页 下一页>>