O código é muito conciso e as funções são muito práticas. Não vou falar muito bobagem aqui, basta dar o código:
/*** Criado pelo administrador em 15-1-12. */function broswerutil () {} Broswerutil = {// Versão do navegador de detecção getBrowServersion: function () {var agent = navegator.userAgent.TolowerCase (); var arr = []; var navegador = ""; var bversion = ""; var verinnum = ""; // ie if (agent.indexOf ("msie")> 0) {var regstr_ie =/msie [/d. ]+ ;/gi; Navegador = "ou seja"; Bversion = "" + agent.match (regstr_ie)} // firefox else if (agent.indexOf ("firefox")> 0) {var regstr_ff = /firefox///d.lem.+/gi; Navegador = "firefox"; Bversion = "" + agent.match (regstr_ff); } // Chrome else if (agent.indexof ("Chrome")> 0) {var regStr_chrome = /chrome//[/d. ]+/GI; Navegador = "Chrome"; Bversion = "" + agent.match (regstr_chrome); } // safari else if (agent.indexof ("safari")> 0 && agent.indexOf ("Chrome") <0) {var regstr_saf = /version///d.lem.+/gi; Navegador = "safari"; Bversion = "" + agent.match (regstr_saf); } // Opera else if (agent.indexof ("Ópera")> = 0) {var regstr_opera = /version///d.b.+/gi; Navegador = "ópera"; Bversion = "" + agent.match (regstr_opera); } else {var browser = navegator.appName; if (navegador == "Netscape") {var versão = agent.split (";"); var TRIM_VERSION = Versão [7] .replace (/[]/g, ""); var rvstr = TRIM_VERSION.MACT (//d /. ]/ g) .ToString (); var rv = rvstr.replace (/[,]/g, ""); Bversion = rv; Browser = "ie"}} verinnum = (bversion + "") .replace (/[^0-9.]/Ig, ""); Arr.push (navegador); Arr.push (verinnum); retornar arr; }, // Detecte se é XX navegador wb: (function () {var userAgent = Navigator.UserAgent.TolowerCase (); return {ISIE6: /msie 6.0 /.test (userAgent), // ie6 isie7: /msie 7.0 /.test (userAgent), //e7 ie6 isie7: /msie 7.0 /.test (userAgent), //e7 ie6 é 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), // Cheetah Browser isUc: /ucweb/.test(UserAgent), // UC navegador is360: /360se/.test(useragent), // 360 navegador isbaidu: /bidubrowser/.test(uSerAgent), // BaidUer ISSOUGOU: /MetasTerGent(SerAgent), // BaidUer Issougou: /metAss/.restintintigur), // BaidUer Issougou: /metArs/.restintigur), // BaidUer Issougou: /metAs/.tens /chrome/.test(userAgent.substr(-33, 6)), // Chrome Browser isFirefox: /firefox/.test(useragent), // navegador de firefox) eragra /oseaGer/opera /. ! /chrome/.test (userAgent), // safire navegador isqq: /qqbrowser/.test(useragent)//qq navegador}; Android: Falso, Nokian: Falso, WinMobile: Falso, Wii: Falso, PS: Falso}; var ua = navegator.UserAgent; // plataforma de detecção var p = navegator.platform; System.win = p.IndexOf ('Win') == 0; System.mac = P.IndexOf ('Mac') == 0; System.xll = (P.IndexOf ('xll') == 0 || p.IndexOf ('Linux') == 0); // Detecção do sistema operacional Windows if (System.win) {if (/win (?: Dows)? ([^Do] {2})/s? (/D+/./D+)?/. Test (ua)) {if (regexp ['$ 1'] == 'nt') {switch (regexp ['$ 2' $ 2 '$ 2'] == »nT ') {switch (regexp [' $ 2 '$ 2'] = ['3.ws) {if (regexp [' $ 1 '] ==' nt ') {switch (regexp [' $ 2 '$ 2' $ 2 '] = [' nT ') {switch (regexp [' $ 2 '2'). quebrar; case '5.1': System.win = 'xp'; quebrar; case '6.0': System.win = 'Vista'; quebrar; caso '6.1': System.win = '7'; quebrar; caso '6.2': System.win = '8'; quebrar; padrão: System.win = 'nt'; quebrar; }} else if (regexp ['$ 1'] == '9x') {System.win = 'me'; } else {System.win = regexp ['$ 1']; }}} // Mobile Device 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 = 'telefone'; System.winMobile = parsefloat (regexp ['$ 1']); }} // Detecte a versão iOS se (System.mac && ua.indexof ('celular')> -1) {if (/cpu (?: Iphone)? Os (/d+_/d+)/i.test(ua) {System.ios = parse (regexp ['$ 1']. } else {System.ios = 2; // Não pode ser realmente detectado, portanto, só pode adivinhar}} // detectar a versão do Android se (/android (/d+/./d+)/i.test(ua)) {System.android = parsefloat (regexp ['$ 1']); } // sistema de jogos System.wii = ua.indexOf ('Wii')> -1; system.ps = /playstation/i.test(ua); retornar {System: System}}) ()}O acima é a base de código para detectar a versão do navegador e o tipo de sistema operacional encapsulado pelo JavaScript. Espero que todos gostem.