javascript实现获取浏览器版本、操作系统类型
代码很简洁,功能很实用,这里就不多废话了,直接给大家奉上代码:
/**
*CreatedbyAdministratoron15-1-12.
*/
functionBroswerUtil(){
}
BroswerUtil={
//检测浏览器版本
getBrowserVersion:function(){
varagent=navigator.userAgent.toLowerCase();
vararr=[];
varBrowser="";
varBversion="";
varverinNum="";
//IE
if(agent.indexOf("msie")>0){
varregStr_ie=/msie[\d.]+;/gi;
Browser="IE";
Bversion=""+agent.match(regStr_ie)
}
//firefox
elseif(agent.indexOf("firefox")>0){
varregStr_ff=/firefox\/[\d.]+/gi;
Browser="firefox";
Bversion=""+agent.match(regStr_ff);
}
//Chrome
elseif(agent.indexOf("chrome")>0){
varregStr_chrome=/chrome\/[\d.]+/gi;
Browser="chrome";
Bversion=""+agent.match(regStr_chrome);
}
//Safari
elseif(agent.indexOf("safari")>0&&agent.indexOf
("chrome")<0){
varregStr_saf=/version\/[\d.]+/gi;
Browser="safari";
Bversion=""+agent.match(regStr_saf);
}
//Opera
elseif(agent.indexOf("opera")>=0){
varregStr_opera=/version\/[\d.]+/gi;
Browser="opera";
Bversion=""+agent.match(regStr_opera);
}else{
varbrowser=navigator.appName;
if(browser=="Netscape"){
varversion=agent.split(";");
vartrim_Version=version[7].replace(/[]/g,
"");
varrvStr=trim_Version.match(/
[\d\.]/g).toString();
varrv=rvStr.replace(/[,]/g,"");
Bversion=rv;
Browser="IE"
}
}
verinNum=(Bversion+"").replace(/[^0-9.]/ig,"");
arr.push(Browser);
arr.push(verinNum);
returnarr;
},
//检测是否是XX浏览器
WB:(function(){
varUserAgent=navigator.userAgent.toLowerCase();
return{
isIE6:/msie6.0/.test(UserAgent),//IE6
isIE7:/msie7.0/.test(UserAgent),//IE7
isIE8:/msie8.0/.test(UserAgent),//IE8
isIE9:/msie9.0/.test(UserAgent),//IE9
isIE10:/msie10.0/.test(UserAgent),//IE10
isIE11:/msie11.0/.test(UserAgent),//IE11
isLB:/lbbrowser/.test(UserAgent),//猎豹浏览器
isUc:/ucweb/.test(UserAgent),//UC浏览器
is360:/360se/.test(UserAgent),//360浏览器
isBaidu:/bidubrowser/.test(UserAgent),//百度浏览器
isSougou:/metasr/.test(UserAgent),//搜狗浏览器
isChrome:/chrome/.test(UserAgent.substr(-33,6)),//
Chrome浏览器
isFirefox:/firefox/.test(UserAgent),//火狐浏览器
isOpera:/opera/.test(UserAgent),//Opera浏览器
isSafire:/safari/.test(UserAgent)&&!/chrome/.test
(UserAgent),//safire浏览器
isQQ:/qqbrowser/.test(UserAgent)//qq浏览器
};
})(),
//检测当前操作系统
CurrentSystem:(function(){
varsystem={
win:false,
mac:false,
xll:false,
iphone:false,
ipoad:false,
ipad:false,
ios:false,
android:false,
nokiaN:false,
winMobile:false,
wii:false,
ps:false
};
varua=navigator.userAgent;
//检测平台
varp=navigator.platform;
system.win=p.indexOf('Win')==0;
system.mac=p.indexOf('Mac')==0;
system.xll=(p.indexOf('Xll')==0||p.indexOf('Linux')
==0);
//检测Windows操作系统
if(system.win){
if(/Win(?:dows)?([^do]{2})\s?(\d+\.\d+)?/.test(ua))
{
if(RegExp['$1']=='NT'){
switch(RegExp['$2']){
case'5.0':
system.win='2000';
break;
case'5.1':
system.win='XP';
break;
case'6.0':
system.win='Vista';
break;
case'6.1':
system.win='7';
break;
case'6.2':
system.win='8';
break;
default:
system.win='NT';
break;
}
}elseif(RegExp['$1']=='9x'){
system.win='ME';
}else{
system.win=RegExp['$1'];
}
}
}
//移动设备
system.iphone=ua.indexOf('iPhone')>-1;
system.ipod=ua.indexOf('iPod')>-1;
system.ipad=ua.indexOf('iPad')>-1;
system.nokiaN=ua.indexOf('nokiaN')>-1;
//windowsmobile
if(system.win=='CE'){
system.winMobile=system.win;
}elseif(system.win=='Ph'){
if(/WindowsPhoneOS(\d+.\d)/i.test(ua)){
system.win='Phone';
system.winMobile=parseFloat(RegExp['$1']);
}
}
//检测IOS版本
if(system.mac&&ua.indexOf('Mobile')>-1){
if(/CPU(?:iPhone)?OS(\d+_\d+)/i.test(ua)){
system.ios=parseFloat(RegExp['$1'].replace('_',
'.'));
}else{
system.ios=2;//不能真正检测出来,所以
只能猜测
}
}
//检测Android版本
if(/Android(\d+\.\d+)/i.test(ua)){
system.android=parseFloat(RegExp['$1']);
}
//游戏系统
system.wii=ua.indexOf('Wii')>-1;
system.ps=/PlayStation/i.test(ua);
return{
system:system
}
})()
}
以上就是这款javascript封装好的检测浏览器版本和操作系统类型的代码库,希望大家能够喜欢。