(轉)js判断浏览器(支持区分ie、firefox、opera、chrome、safari)

以下是jquery的正则表达式:

Javascript代码
1.// Useragent RegExp   
2.rwebkit = /(webkit)[ \/]([\w.]+)/,   
3.ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,   
4.rmsie = /(msie) ([\w.]+)/,   
5.rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,  

以下针对自己的想法做了新的改进,支持区分ie、firefox、opera、chrome、safari,
另外版本号的取值也与jquery不同,jquery取得版本号可能是内核的版本号吧,以后再考虑改进改进:

 

Javascript代码
1.// browser check-----start   
2.var userAgent = navigator.userAgent, // userAgent   
3.rMsie = /.*(msie) ([\w.]+).*/, // ie   
4.rFirefox = /.*(firefox)\/([\w.]+).*/, // firefox   
5.rOpera = /(opera).+version\/([\w.]+)/, // opera   
6.rChrome = /.*(chrome)\/([\w.]+).*/, // chrome   
7.rSafari = /.*version\/([\w.]+).*(safari).*/;// safari   
8.jMeteor.browser = {};   
9.var ua = userAgent.toLowerCase();   
10.function uaMatch(ua) {   
11.    var match = rMsie.exec(ua);   
12.    if (match != null) {   
13.        return { browser : match[1] || "", version : match[2] || "0" };   
14.    }   
15.    var match = rFirefox.exec(ua);   
16.    if (match != null) {   
17.        return { browser : match[1] || "", version : match[2] || "0" };   
18.    }   
19.    var match = rOpera.exec(ua);   
20.    if (match != null) {   
21.        return { browser : match[1] || "", version : match[2] || "0" };   
22.    }   
23.    var match = rChrome.exec(ua);   
24.    if (match != null) {   
25.        return { browser : match[1] || "", version : match[2] || "0" };   
26.    }   
27.    var match = rSafari.exec(ua);   
28.    if (match != null) {   
29.        return { browser : match[2] || "", version : match[1] || "0" };   
30.    }   
31.    if (match != null) {   
32.        return { browser : "", version : "0" };   
33.    }   
34.}   
35.var browserMatch = uaMatch(userAgent.toLowerCase());   
36.if (browserMatch.browser) {   
37.    jMeteor.browser[browserMatch.browser] = true;   
38.    jMeteor.browserName = browserMatch.browser;   
39.    jMeteor.browser.version = browserMatch.version;   
40.    jMeteor.browser.language = (navigator.language ? navigator.language   
41.            : navigator.userLanguage || "");   
42.}   
43.// browser check-----end  


使用方法:
Javascript代码
1.jMeteor.browser.msie //判断是否为ie,返回true则代表是   
2.jMeteor.browserName //浏览器名称   
3.jMeteor.browser.version //浏览器版本   
4.jMeteor.browser.language //语言  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值