javascript實(shí)現(xiàn)獲取瀏覽器版本、操作系統(tǒng)類型
更新時(shí)間:2015年01月29日 09:13:48 作者:一起走過的日子
這篇文章主要給大家分享一段javascript實(shí)現(xiàn)獲取瀏覽器版本、操作系統(tǒng)類型的封裝好的代碼,使用非常方便,也很實(shí)用,推薦給大家。
代碼很簡潔,功能很實(shí)用,這里就不多廢話了,直接給大家奉上代碼:
/** * Created by Administrator on 15-1-12. */ function BroswerUtil() { } BroswerUtil = { //檢測(cè)瀏覽器版本 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; }, //檢測(cè)是否是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瀏覽器 }; })(), //檢測(cè)當(dāng)前操作系統(tǒng) 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; // 檢測(cè)平臺(tái) 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); // 檢測(cè)Windows操作系統(tǒng) 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']; } } } // 移動(dòng)設(shè)備 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']); } } // 檢測(cè)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; // 不能真正檢測(cè)出來,所以 只能猜測(cè) } } // 檢測(cè)Android版本 if (/Android (\d+\.\d+)/i.test(ua)) { system.android = parseFloat(RegExp['$1']); } // 游戲系統(tǒng) system.wii = ua.indexOf('Wii') > -1; system.ps = /PlayStation/i.test(ua); return { system: system } })() }
以上就是這款javascript封裝好的檢測(cè)瀏覽器版本和操作系統(tǒng)類型的代碼庫,希望大家能夠喜歡。
相關(guān)文章
js+HTML5實(shí)現(xiàn)canvas多種顏色漸變效果的方法
這篇文章主要介紹了js+HTML5實(shí)現(xiàn)canvas多種顏色漸變效果的方法,涉及html5屬性的相關(guān)技巧,需要的朋友可以參考下2015-06-06javascript笛卡爾積算法實(shí)現(xiàn)方法
這篇文章主要介紹了javascript笛卡爾積算法實(shí)現(xiàn)方法,實(shí)例分析了笛卡爾積算法的javascript實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04JS實(shí)現(xiàn)的加減乘除四則運(yùn)算計(jì)算器示例
這篇文章主要介紹了JS實(shí)現(xiàn)的加減乘除四則運(yùn)算計(jì)算器,涉及javascript事件響應(yīng)及數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-08-08JS數(shù)組屬性去重并校驗(yàn)重復(fù)數(shù)據(jù)
這篇文章主要介紹了JS數(shù)組屬性去重并校驗(yàn)重復(fù)數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01