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封装好的检测浏览器版本和操作系统类型的代码库,希望大家能够喜欢。