Detect browser rendering engines, platforms, Windows operating systems, mobile devices, and game systems for accessing Web pages
/** * Author:laixiangran.
* Created by Laixiangran on 2015/12/02. * Detect access to Web page browser rendering engine, platform, Windows operating system, mobile device and gaming system * ******************************************************************** * User agent string for each version browser under windows10.0: * Google Chrome 45.0.2454.85--"mozilla/5.0" (Windows NT 10.0; WOW64) applewebkit/537.36 (khtml, like Gecko) chrome/45.0.2454.85 safari/537.36 "* Opera 31.0.1889.174--" mozilla/5.0 (W indows NT 10.0; WOW64) applewebkit/537.36 (khtml, like Gecko) chrome/44.0.2403.155 safari/537.36 "* Microsoft opr/31.0.1889.174" mozilla/5.0 (Windows NT 10.0; Win64; x64) applewebkit/537.36 (khtml, like Gecko) chrome/42.0.2311.135 safari/537.36 "* Firefox edge/12.10240" 40.0.3-- a/5.0 (Windows NT 10.0; WOW64; rv:40.0) gecko/20100101 firefox/40.0 "* Internet Explorer 11+--" mozilla/5.0 (Windows NT 10.0; WOW64; trident/7.0;. net4.0c;. net4.0e. NET CLR 2.0.50727;. NET CLR 3.0.30729;. NET CLR 3.5.30729; rv:11.0) Like Gecko "* Internet Explorer 10---" mozilla/5.0 (CompatiblE MSIE x.0; Windows NT 10.0; WOW64; trident/8.0;. net4.0c;.
net4.0e. NET CLR 2.0.50727;. NET CLR 3.0.30729;. NET CLR 3.5.30729) "*/function () {window.iclient = {}; Render engine information var engine = {//render engine ie:0, gecko:0, webkit:0, khtml:0, opera:0,//specific version number VE
R:null};
var browser = {//browser ie:0, edge:0, firefox:0, safari:0, konq:0, opera:0, chrome:0,
Specific version number Ver:null}; platform, device and operating system var system = {Win:false, mac:false, Unix:false,//Mobile device Iphone:false, IPOD:FA LSE, IPAD:FALSE, Ios:false, Android:false, Nokian:false, Winmobile:false,//Gaming system WII:FA
LSE,//Nintendo Ps:false//playstation3};
Gets the user agent string for the browser var ua = window.navigator.userAgent;
The Opera browser that detects the rendering engine and the browser//detects the Presto kernel (window.opera) {engine.ver = Browser.ver = Window.opera.version ();
Engine.opera = Browser.opera = parsefloat (engine.ver); }
//Detection WebKit use "AppleWebKit" in the proxy string to detect else if (/applewebkit\/(\s+)/.test (UA)) {Engine.ver = regexp["$"];
Engine.webkit = parsefloat (engine.ver);
Determine Microsoft Edge if (/edge\/(\s+)/.test (UA)) {Browser.ver = regexp["$"];
Browser.edge = parsefloat (browser.ver);
}//Determine WebKit kernel opera else if (/opr\/(\s+)/.test (UA)) {Browser.ver = regexp["$"];
Browser.opera = parsefloat (browser.ver);
}//Determine if Chrome else if (/chrome\/(\s+)/.test (UA)) {Browser.ver = regexp["$"];
Browser.chrome = parsefloat (browser.ver);
}//Determine Safari else if (/version\/(\s+)/.test (UA)) {Browser.ver = regexp["$"];
Browser.safari = parsefloat (browser.ver);
}else{//Approximate definite version number var safariversion = 1;
if (Engine.webkit < MB) {safariversion = 1;
}else if (Engine.webkit <312) {safariversion = 1.2;
}else if (Engine.webkit < 412) {safariversion = 1.3; }else{SafarivErsion = 2;
} browser.ver = Browser.safari = safariversion; }//Detect khtml for versions that do not contain khtml in Konqueror3.1 and earlier versions, use the Konqueror version instead of else if (/khtml\/(\s+)/.test (UA) | |/konqueror\/(
\s+)/.test (UA)) {engine.ver = Browser.ver = regexp["$"]; engine.khtml = Browser.konq = parsefloat (engine.ver); s}//detect Gecko its version number is at the back of the string "rv:" Else if (/rv: ([^\)]+) \) gecko\/\d
{8}/.test (UA)) {Engine.ver = regexp["$"];
Engine.gecko = parsefloat (engine.ver);
Determine if the Firefox if (/firefox\/(\s+)/.test (UA)) {Browser.ver = regexp["$"];
Browser.firefox = parsefloat (browser.ver); }//Detect IE else if (/msie) ([^;] +)/.test (UA) | |
/RV: ([^\)]+) \ like Gecko/.test (UA)) {engine.ver = Browser.ver = regexp["$"];
engine.ie = browser.ie = parsefloat (engine.ver);
//Get platform or operating system information, possible values: Win32, Win64, MACPPC, Macintel, Xll, Linux i686 var p = window.navigator.platform;
Detection Platform System.win = P.indexof ("win") = = 0;
System.mac = P.indexof ("mac") = = 0; SysTem.unix = (P = = "Xll '") | |
(P.indexof ("Linux") = = 0); Detects the Windows operating system if (System.win) {if (/win) {if (?:d ows)? ( [^do] {2}) \s? (\d+\.\d+)/.test (UA)) {if (regexp["$" = = "NT") {switch (regexp["$"]) {case "5.0": Sy
Stem.win = "2000";
Break
Case "5.1": System.win = "XP";
Break
Case "6.0": System.win = "Vista";
Break
Case "7": System.win = "7";
Break
Case "8": System.win = "8";
Break
Case "8.1": System.win = "8.1";
Break
Case "10.0": System.win = "10.0";
Break
Default:system.win = "NT";
Break
}}///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;
Window 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["$"); }//Detect iOS version if (System.mac && ua.indexof ("Mobile") >-1) {if/CPU (?: IPhone)? OS (\d+.\d+)/.test (UA) {System.ios = parsefloat (regexp["$"].replace ("_", ".")); else{System.ios = 2;//cannot be really detected, so only guess}//detect Android Version if (/android (\d+.\d+)/.test (UA)) {System.android
= Parsefloat (regexp["$"]);
}//Detect game system system.wii = Ua.indexof ("Wii") >-1;
system.ps =/playstation/i.test (UA);
Window.iClient.engine = engine;
Window.iClient.browser = browser;
Window.iClient.system = System;
})();
To give you an example of a simple point: Judge Windows, Linux, Android