代码如下:
(function(){ window.sys={}; var ua=navigator.userAgent.toLowerCase(); //首先我们来看一下3个浏览器都返回了什么看下面。 //ie ua=mozilla/4.0 (compatible; msie 8.0; windows nt 5.2; trident/4.0; qqpinyin 730; .net clr 1.1.4322) //firefox ua=mozilla/5.0 (windows; u; windows nt 5.2; zh-cn; rv:1.9.2) gecko/20100115 firefox/3.6 //chrome ua=mozilla/5.0 (windows; u; windows nt 5.2; en-us) applewebkit/532.5 (khtml, like gecko) chrome/4.0.249.0 safari/532.5 //可以看出上面的浏览器 IE msie 8.0 firefox firefox/3.6 chrome chrome/4.0.249 //我们只要用正则找出字符串里面是能匹配这几个关键地方就可以找出是哪个浏览器了。 //看下面正则 firefox 的正则表达式 /firefox\/([\d\.]+)/ //firefox\/ 匹配了一个 firefox/ 这样一个字符 //([\d\.]+) ()表示需要捕获匹配的字符。后面可以用[1]的方式来获取版本号就是他的功劳了。 //[]表示把\d\.括起来当成一个整体 没别的意思 //\d 匹配一个数字 \. 匹配一个 . 加在一起就可以匹配 8. 这样的东西了 //[]+ []外面还有个+ 他会把[] 里面原来匹配的东西重复 于是变成了这样 8.8.8.8. 当然这样也可以 48.1.563 sys.firefox=ua.match(/firefox\/([\d\.]+)/); sys.ie=ua.match(/msie\s([\d\.]+)/); //msie\s([\d\.]+) // ie的就基本跟火狐一样了 没什么太大的区别 // msie 8.0 \s 就是匹配 msie和8.0 中间的一个空格 sys.chrome=ua.match(/chrome\/([\d\.]+)/); //chrome\/([\d\.]+) //跟火狐的一样 })(); //使用 if(sys.firefox){ alert(true) }else{ alert(false) } if(sys.ie[1]=="8.0"){ alert(true) }else{ alert(false) } alert(sys.firefox); alert(sys.ie); alert(sys.chrome); //只有当前浏览器的sys才能使用[1]返回版本号 alert(sys.firefox[1]); //alert(sys.ie[1]); //alert(sys.chrome[1]);
评论前必须登录!
注册