看到jquery的浏览器判断,并没完全符合我的要求,以下是jquery的正则表达式:
// Useragent RegExp
rwebkit = /(webkit)[ \/]([\w.]+)/,
ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
rmsie = /(msie) ([\w.]+)/,
rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
以下针对自己的想法做了新的改进,支持区分ie、firefox、opera、chrome、safari,
另外版本号的取值也与jquery不同,jquery取得版本号可能是内核的版本号吧,以后再考虑改进改进:
// browser check-----start
var userAgent = navigator.userAgent, // userAgent
rMsie = /.*(msie) ([\w.]+).*/, // ie
rFirefox = /.*(firefox)\/([\w.]+).*/, // firefox
rOpera = /(opera).+version\/([\w.]+)/, // opera
rChrome = /.*(chrome)\/([\w.]+).*/, // chrome
rSafari = /.*version\/([\w.]+).*(safari).*/;// safari
jMeteor.browser = {};
var ua = userAgent.toLowerCase();
function uaMatch(ua) {
var match = rMsie.exec(ua);
if (match != null) {
return { browser : match[1] || "", version : match[2] || "0" };
}
var match = rFirefox.exec(ua);
if (match != null) {
return { browser : match[1] || "", version : match[2] || "0" };
}
var match = rOpera.exec(ua);
if (match != null) {
return { browser : match[1] || "", version : match[2] || "0" };
}
var match = rChrome.exec(ua);
if (match != null) {
return { browser : match[1] || "", version : match[2] || "0" };
}
var match = rSafari.exec(ua);
if (match != null) {
return { browser : match[2] || "", version : match[1] || "0" };
}
if (match != null) {
return { browser : "", version : "0" };
}
}
var browserMatch = uaMatch(userAgent.toLowerCase());
if (browserMatch.browser) {
jMeteor.browser[browserMatch.browser] = true;
jMeteor.browserName = browserMatch.browser;
jMeteor.browser.version = browserMatch.version;
jMeteor.browser.language = (navigator.language ? navigator.language
: navigator.userLanguage || "");
}
// browser check-----end
使用方法:
jMeteor.browser.msie //判断是否为ie,返回true则代表是
jMeteor.browserName //浏览器名称
jMeteor.browser.version //浏览器版本
jMeteor.browser.language //语言
分享到:
相关推荐
js判断浏览器类型,判断5种主流浏览器。 IE Firefox Chrome Opera Safari
CSS Hack兼容大全,令网页能正常显示在IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari等浏览器上
适用浏览器:360、FireFox、Chrome、Opera、傲游、搜狗、世界之窗. 不支持Safari、IE8及以下浏览器。
四级联动菜单 适用浏览器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下浏览器。 来源:懒人
js禁止复制 全面支持 IE 6-11,Chrome,Opera,Firefox,Safari等各种主流浏览器
基于jQuery+CSS3 手风琴图片折叠滑开代码(支持ie9 chrome safari firefox opera).zip
Firefox Safari Chrome Opera 其他 VS.net 支持 Microsoft Script Debugger 支持 Firebug 支持 venkman 支持 ...
因为有一个项目要用到iframe自适应高度,网上搜索了以下结果无数,不过看来看去都是那...iframe自适应高度,亲测完美兼容IE6_7_8_9,Chrome谷歌浏览器,Opera欧朋浏览器,FireFox火狐浏览器,Mac Safari浏览器等五大浏览器
IC卡读卡器在web端的应用越来越多...彻底解决了以上的局限,使得IC卡读卡器不仅可以应用在IE浏览器上,还可以在Chrome,Firefox,Safari,Opera等主流浏览器上运行,极大地提高了用户体验,解决了BS软件工程师的困扰。
NULL 博文链接:https://justcoding.iteye.com/blog/982555
经测试,用此方法创建XMLHttpRequest对象,在运用AJAX的时候,可以的兼容IE6,IE7,IE8,Opera,Safari,Google Chrome,fireFox。主流的应该就这些吧?theWorld,遨游等浏览器都是以IE为核心的,所以肯定也没问题。 另外...
知道CSS的朋友一定听说过CSS hack,现在的浏览器IE、Firefox、Chrome、Opera、Safari。。。百家争鸣,可苦了Web前端开发人员了。
复制代码代码如下: ... -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); _filter:none; }
js判断多种浏览器,Chrome,IE7-11,Safari,Firefox,Maxthon,搜狗,世界之窗,Opera
本文将介绍如何使用Javascript来检测浏览器的类型以及版本号,包括猎豹浏览器、搜狗浏览器、傲游浏览器、360极速浏览器、360安全浏览器、QQ浏览器、百度浏览器、IE,Firefox,Chrome,safari,Opera等。 效果图 实例...
纯css-loading兼容Safari ,Chrome,Mozilla Firefox,opera,ie10+
图片上传预览是一种在图片上传之前对图片进行本地预览的技术。...但在opera、safari和chrome还是没有办法实现本地预览,只能通过后台来支持预览。 在研究了各种预览方法后,作为总结,写了这个程序,跟大家一起分享。
JavaScript判断浏览器类型一般有两种办法,一种是根据各种浏览器独有的属性来分辨,另一种是通过分析浏览器的userAgent属性来判断的。在许多情况下,值判断出浏览器类型之后,还需判断浏览器版本才能处理兼容性问题...