Judging the browser used is more than just computer browser code collation

Time:2019-9-8

Judgment includes not only computer browsers, but also Android, IOS mobile phones, tablets and game systems.

Copy codeThe code is as follows:
var client = function(){
// Presentation Engine
var engine ={
ie : 0,
gecko : 0,
webkit : 0,
khtml : 0,
opera : 0,
ver : null
};
// Browser
var browser = {
ie : 0,
firefox :0,
safari : 0,
konq :0,
opera : 0,
chrome : 0,
ver : null
};
var system ={
win :false,
max : false,
x11 : false,
// Mobile devices
iphone : false ,
ipod : false,
ipad : false,
ios : false,
android : false,
nokiaN : false,
winMoble : false,
// Game System
wii :false,
ps : false
};
var ua =navigator.userAgent;
// Since Opera 9, there have been two ways of string proxy. One way is to identify itself as another browser. The other way is to mark yourself as Firefox or IE.
// In the latter case, the user agent string actually returns the same as other browsers — neither opera nor version information for opera.
// So judging browsers starts with Opera
if(winddow.opera){
engine.ver = browser.ver = window.opera.version();
egine.opera = browser.opera = parseFloat(engine.ver);
// The second detection of WebKit is because the strings of WebKit’s user proxy words Gecko and HTMKL have erroneous conclusions if they are first detected.
}else if (/AppleWebKit\/(\S+)/.test(ua)){
engin.ver = RegExp[“$1”];
engine.webkit = parseFloat(engine.ver);
// Determine whether it’s chrome or Safari
if(/Chrome\/(\S+)/.test(ua){
browser.ver = RegExp[“$1”];
browser.chrome = parseFloat(brower.ver);
} Other if (/ Version/(+S)/. test (ua){//safari 3.0 added Version attribute
browser.ver = RegExp[“$1”];
browser.safari = parseFloat(brower.ver);
}else{
var safariVersion = 1;
if(engine.webkit<100){
safariVersion = 1;
}else if(engine.ver<312){
safariVersion = 1.2;
}else if(engine.ver<412){
safariVersion = 1.3;
}else{
safariVersion = 2;
}
browser.safari = browser.ver = safariVersion;
}
} Other if (/ KHTML/( S+)/. test (ua) | / Konqueror /(^;]+)/. test (ua) {// browser under Linux)
engine.ver = browser.ver = RegExp[“$1”];
engine.khtml = parseFloat(engine.ver);
}else if(/rv:([^\)]+\) Gocko\/\d{8}/.test(ua)){
engine.ver = RegExp[“$1”];
engine.gecko = parseFloat(engine.ver);
// Make sure it’s not Firefox
if(/Firefox\/(\S+)/.test(ua){
browser.ver = RegExp[“$1”];
browser.firefox = parseFloat(browser.ver);
}
}else if (/MSIE ([^;]+)/.test(ua)){
engine.ver = browser.ver = RegExp[“$1”];
engine.ie = browser.ie = parseFloat(engine.ver);
}
// Detection Browser
browser.ie =engine.ie;
browser.opera = engine.opera;
var p = navigator.platform;
system.win = p.indexOf(“Win”)==0;
system.mac = p.indexOf(“Mac”)==0;
system.x11 = (p==”x11″)||p.indexOf(“Linux”)==0;
if(system.win){
if(/Win(?:dow)?([^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”;
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”];
}
}
}
// Mobile devices
system.iphone = ua.indexOf(“iPhone”)>-1;
system.ipod = ua.indexOf(“iPod”)>-1;
system.ipad = ua.indexOf(“iPad”)>-1;
system.nokiaN = ua.indexOf(“nokiaN”)>-1;
//win 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”]);
}
}
// Detecting IOS version
//
if(system.mac && ua.indexOf(“Mobile”)>-1){
if(/CPU (?:iPhone)?OS (\d+\_\d+)/.test(ua){
system.ios = parseFloat(RexExp.$1.replace(“_”,”.”));
}else {
System. IOS = 2; // Can’t really check it out, so guess a result.
}
}
// Check Android Version
//
if(/Android (\d+/_\d+)/.test(ua)){
system.andriod = parseFloat(RegExp.$1);
}
// Game System
system.wii = us.indexOf(“Wii”)>-1;
system.ps = /playstation/i.test(ua);
// Return object
return {
engine : engine,
browser : browser,
system : system
}
}