您的位置:首页 > Web前端 > JavaScript

JS判断浏览器类型,获得浏览器版本号

2011-05-05 15:42 746 查看
在WEB开发中,浏览器兼容问题往往弄得我们焦头烂额。这篇文章主要是通过使用JS封装一个方法来获得当前客户端的浏览器类型和浏览器版本号。大家都知道,我们往往是通过分析浏览器的uerAgent来判断,可是uerAgent属性又臭又长,我们又该如何从中抽丝剥茧,获得每个浏览器的所独有的特性呢,首先,我们来分析下各个浏览器的uerAgent字符串:(并不会写完全,只是写该字符串中比较重要的一部分)

IE(MSIE后面是版本号)

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)

FireFox(Firefox/后面是版本号)

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

Opera(Opera后面是版本号)

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

Safri(Version后面是版本号)

Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1
Safari/525.13

Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0
Mobile/4A93 Safari/419.3


chrome(chrome后面是版本号)

Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13

比较有趣的是,chrome的userAgent字符串中还包含了safari的特性。

下面,就可已根据以上的这些特征来构造我们的对象:

var ua=navigator.userAgent.toLowerCase();
var s=null;
var browser={
msie:(s=ua.match(/msie/s*([/d/.]+)/))?s[1]:false,
firefox:(s=ua.match(/firefox//([/d/.]+)/))?s[1]:false,
chrome:(s=ua.match(/chrome//([/d/.]+)/))?s[1]:false,
opera:(s=ua.match(/opera.([/d/.]+)/))?s[1]:false,
safari:(s=ua.match(/varsion//([/d/.]+).*safari/))?s[1]:false
};


关键字的值或者为假,或者为当前浏览器的版本号。因此我们可以通过这个对象进行浏览器的检测。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: