javascript实现获取浏览器版本、操作系统类型
代码很简洁,功能很实用,这里就不多废话了,直接给大家奉上代码:
/** * Created by Administrator on 15-1-12. */ function BroswerUtil() { } BroswerUtil = { //检测浏览器版本 getBrowserVersion: function () { var agent = navigator.userAgent.toLowerCase(); var arr = []; var Browser = ""; var Bversion = ""; var verinNum = ""; //IE if (agent.indexOf("msie") > 0) { var regStr_ie = /msie [\d.]+;/gi; Browser = "IE"; Bversion = "" + agent.match(regStr_ie) } //firefox else if (agent.indexOf("firefox") > 0) { var regStr_ff = /firefox\/[\d.]+/gi; Browser = "firefox"; Bversion = "" + agent.match(regStr_ff); } //Chrome else if (agent.indexOf("chrome") > 0) { var regStr_chrome = /chrome\/[\d.]+/gi; Browser = "chrome"; Bversion = "" + agent.match(regStr_chrome); } //Safari else if (agent.indexOf("safari") > 0 && agent.indexOf ("chrome") < 0) { var regStr_saf = /version\/[\d.]+/gi; Browser = "safari"; Bversion = "" + agent.match(regStr_saf); } //Opera else if (agent.indexOf("opera") >= 0) { var regStr_opera = /version\/[\d.]+/gi; Browser = "opera"; Bversion = "" + agent.match(regStr_opera); } else { var browser = navigator.appName; if (browser == "Netscape") { var version = agent.split(";"); var trim_Version = version[7].replace(/[ ]/g, ""); var rvStr = trim_Version.match(/ [\d\.]/g).toString(); var rv = rvStr.replace(/[,]/g, ""); Bversion = rv; Browser = "IE" } } verinNum = (Bversion + "").replace(/[^0-9.]/ig, ""); arr.push(Browser); arr.push(verinNum); return arr; }, //检测是否是XX浏览器 WB: (function () { var UserAgent = navigator.userAgent.toLowerCase(); return { isIE6: /msie 6.0/.test(UserAgent), // IE6 isIE7: /msie 7.0/.test(UserAgent), // IE7 isIE8: /msie 8.0/.test(UserAgent), // IE8 isIE9: /msie 9.0/.test(UserAgent), // IE9 isIE10: /msie 10.0/.test(UserAgent), // IE10 isIE11: /msie 11.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 () { var system = { win: false, mac: false, xll: false, iphone: false, ipoad: false, ipad: false, ios: false, android: false, nokiaN: false, winMobile: false, wii: false, ps: false }; var ua = navigator.userAgent; // 检测平台 var p = 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; } } else if (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; // windows mobile if (system.win == 'CE') { system.winMobile = system.win; } else if (system.win == 'Ph') { if (/Windows Phone OS (\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封装好的检测浏览器版本和操作系统类型的代码库,希望大家能够喜欢。
相关推荐
zrtlin 2020-11-09
xuebingnan 2020-11-05
wikiwater 2020-10-27
heheeheh 2020-10-19
Crazyshark 2020-09-15
softwear 2020-08-21
ZGCdemo 2020-08-16
jczwilliam 2020-08-16
littleFatty 2020-08-16
idning 2020-08-03
jinxiutong 2020-07-26
lanzhusiyu 2020-07-19
Skyline 2020-07-04
xiaofanguan 2020-06-25
Aveiox 2020-06-23
dragonzht 2020-06-17