看到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 //语言
分享到:
相关推荐
CSS 兼容大全 IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari 等浏览器 CSS 兼容大全是指在不同的浏览器中,例如 IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari 等,如何使网页正常显示的技术。这个技术的核心是 CSS Hack,即...
js判断浏览器类型,判断5种主流浏览器。 IE Firefox Chrome Opera Safari
本文将深入探讨如何使用JavaScript(js)编写兼容360、Firefox、Chrome、Opera、傲游、搜狗和世界之窗等主流浏览器的弹窗代码,以及为何不支持Safari和IE8及以下版本的浏览器。 首先,我们了解JavaScript弹窗的基本...
标题中的“浏览器chrome opera firefox”指的是三款广受欢迎的网络浏览器:Chrome(谷歌浏览器)、Opera(欧朋浏览器)和Firefox(火狐浏览器)。这三款浏览器因其高效性能、丰富的功能和用户友好的界面而在全球范围...
js禁止复制 全面支持 IE 6-11,Chrome,Opera,Firefox,Safari等各种主流浏览器
在描述中提到了该菜单适用于多种现代浏览器,包括360浏览器、Firefox、Chrome、Safari、Opera、傲游、搜狗以及世界之窗,但不支持Internet Explorer 8及以下版本。 四级联动菜单的实现通常涉及到HTML、CSS和...
标题提到的"firebug for IE6+, Firefox, Opera, Safari and Chrome",意味着这是一个跨浏览器的解决方案,旨在为开发者提供在不同浏览器上调试和优化网页的能力。 Firebug Lite是Firebug的轻量级版本,适用于不支持...
【描述】中提到的“支持ie9 chrome safari firefox opera”意味着这个代码片段是跨浏览器兼容的,可以在这五个主流浏览器(Internet Explorer 9、Chrome、Safari、Firefox和Opera)上正常运行。在前端开发中,确保...
这篇文章主要介绍了使用JavaScript代码如何判断当前用户使用的浏览器种类(IE、Firefox、Opera、Safari、Chrome)以及它们的版本。以下是详细介绍: ### 判断浏览器种类及版本的方法 #### 方法一:只区分浏览器...
Firefox Safari Chrome Opera 其他 VS.net 支持 Microsoft Script Debugger 支持 Firebug 支持 venkman 支持 ...
针对IE6、IE7、IE8、Firefox、Opera和Safari这几种常见的浏览器,我们需要特别关注它们之间的差异。 标题和描述中的文档"css兼容与差别 IE6,IE7,IE8,FireFox,Opera,Safari.doc"主要探讨的是如何解决这些浏览器中的...
本篇文章将详细介绍如何利用jQuery实现这一功能,支持包括IE、Firefox、Safari、Chrome和Opera在内的主流浏览器。 首先,我们需要创建一个基本的HTML表格结构,如Code1所示,包含表头(thead)和数据区域(tbody)...
以下是一个简单的JavaScript代码示例,用于判断用户是否使用IE、Firefox或Opera浏览器: ```javascript if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') )) { alert('...
构建/运行要求 v8.11或更高版本 ( npm install --global gulp-cli ) Chrome(首选),Opera或Firefox浏览器运行应用npm installnpm run build:watch您现在可以通过浏览器的扩展工具页面将扩展加载到浏览器中: ...
### JavaScript 判断浏览器类型及版本的方法 在网页开发过程中,有时候我们需要根据用户的浏览器类型和版本来执行特定的代码逻辑或调整界面布局。这是因为不同的浏览器在处理某些特性时可能存在差异,例如对新标准...
"IE6/IE7/IE8/Firefox/Chrome/Safari的CSS hack兼容一览表" 提供了一个宝贵的资源,帮助开发者解决在不同浏览器之间存在的CSS样式差异。下面我们将深入探讨这个话题,了解各种CSS hack及其在这些浏览器中的表现。 ...
因为有一个项目要用到iframe自适应高度,网上搜索了以下结果无数,不过看来看去都是那...iframe自适应高度,亲测完美兼容IE6_7_8_9,Chrome谷歌浏览器,Opera欧朋浏览器,FireFox火狐浏览器,Mac Safari浏览器等五大浏览器
对于跨浏览器兼容性,现代浏览器如Firefox、Chrome、Safari和Opera都对CSS3的box-shadow属性提供了良好的支持。然而,IE9及以下版本不支持此属性。为了解决这个问题,可以使用渐进增强的方法,为不支持box-shadow的...
这主要因为不同的浏览器可能对某些特性支持不同,或者在实现上存在差异,因此开发者需要根据浏览器类型来调整代码以确保兼容性和最佳性能。以下是一个详细的指南,介绍如何使用JavaScript判断并返回浏览器类型。 ...