var Client = function () { // rendering engine var Engine = { IE: 0 , Gecko: 0 , WebKit: 0 , KHTML: 0 , Opera: 0 , // full version Ver: null }; // browser var browser = { // primary browser IE: 0 , Firefox: 0 , Safari: 0 , konq: 0 , Opera: 0 , Chrome: 0 , // specific version Ver: null }; // platforms, devices, and operating systems var System = { win: to false , MAC: to false , X11: to false , // mobile device iPhone: to false , iPod: false , ipad: false , ios: false , Android: false , Nokian: false , WinMobile:to false , // game system Wii: to false , PS: to false }; // detection rendering engine, and browser var UA = the navigator.userAgent; IF (window.opera) { engine.ver = browser.ver = window.opera.version (); engine.opera = browser.opera = parseFloat (engine.ver); } the else IF (/ AppleWebKit \ / (\ S +) / .test (UA)) { engine.ver = the RegExp [ "$. 1" ]; Engine .webkit = parseFloat (engine.ver); // determine whether or Chrome, Safari IF (/ Chrome \ / (\ S +) / .test (UA)) { browser.ver = the RegExp [ "$. 1" ]; browser.chrome = parseFloat (browser.ver); } the else IF (/ version \ / (\ S +) / .test (UA)) { browser.ver = the RegExp [ "$. 1" ]; browser.safari = parseFloat (browser.ver); } the else { // approximation to determine the version number var safariVersion . 1 = ; IF (engine.webkit <100 ) { safariVersion =. 1 ; } else if (engine.webkit < 312){ safariVersion = 1.2; } else if (engine.webkit < 412){ safariVersion = 1.3; } else { safariVersion = 2; } browser.safari = browser.ver = safariVersion; } } else if (/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){ engine.ver = browser.ver = RegExp["$1"]; engine.khtml = browser.konq = parseFloat(engine.ver); } else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){ engine.ver = RegExp["$1"]; engine.gecko = parseFloat(engine.ver); //确定不是 Firefox if (/Firefox\/(\S+)/.test(ua)){ browser.ver = RegExp["$1"]; browser.firefox = parseFloat(browser.ver); } } else if (/MSIE ([^;]+)/.test(ua)){ engine.ver Browser.ver the RegExp = = [ "$. 1" ]; engine.ie = browser.ie = parseFloat (engine.ver); } // detector browser browser.ie = engine.ie; browser.opera = engine.opera; / / detect internet var P = navigator.platform; system.win = p.indexOf ( "Win") == 0 ; system.mac = p.indexOf ( "the Mac") == 0 ; system.x11 = (P == "X11") || (p.indexOf ( "Linux") == 0 ); // Windows operating system detects IF (system.win) { IF (/ Win (:? dows)? ([^ do] {2 }) \ S? (\ + D \. \ D +)? / . test (among other things)) { 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; 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+)/.test(ua)){; system.win = "Phone"; system.winMobile = parseFloat(RegExp["$1"]); } } // detect iOS version IF (system.mac ua.indexOf && ( "Mobile")> -1 ) { IF ? (? / The CPU (: the iPhone) the OS (\ + D _ \ + D) / . Test (UA)) { system.ios = parseFloat ($ 1.replace the RegExp ( "_",. "." )); } the else { system.ios = 2; // can not really be detected, so only guess } } // detecting Android version IF (/ Android (\ + D \ \ + D) /. .test (UA)) { system.android = parseFloat (the RegExp $. 1. ); } // game system = ua.indexOf system.wii ( "the Wii")> -1 ; system.ps = / PlayStation / i.test (UA); // return those objects return { Engine: Engine, Browser: Browser, System: System }; } ();