全国服务热线:4008-888-888

行业新闻

巢湖小程序流程_javascript浏览器用户代理检测脚本

javascript浏览器用户代理检测脚本实现方法       下面小编就为大家带来一篇javascript浏览器用户代理检测脚本实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

以下是完整的用户代理字符串检测脚本,包括检测呈现引擎、平台、Windows操作系统、移动设备和游戏系统。

var client = function(){ 
 // 呈现引擎 
 var engine = { 
 ie: 0, 
 gecko: 0, 
 webkit: 0, 
 khtml: 0, 
 opera: 0, 
 // 完整的版本号 
 ver: null
 // 浏览器 
 var browser = { 
 // 主要浏览器 
 ie: 0, 
 firefox: 0, 
 safari: 0, 
 konq: 0, 
 opera: 0, 
 chrome: 0, 
 // 具体的版本号 
 ver: null
 // 平台、设备和操作系统 
 var system = { 
 win: false, 
 mac: false, 
 x11: false, 
 // 移动设备 
 iphone: false, 
 ipod: false, 
 ipad: false, 
 ios: false, 
 android: false, 
 nokiaN: false, 
 winMobile: false, 
 // 游戏系统 
 wii: false, 
 凡科抠图: false
 // 检测呈现引擎和浏览器 
 var ua = navigator.userAgent; 
 if (window.opera){ 
 engine.ver = browser.ver = window.opera.version(); 
 engine.opera = browser.opera = parseFloat(engine.ver); 
 else if (/AppleWebKit\/(\S+)/.test(ua)){ 
 engine.ver = RegExp["$1"]; 
 engine.webkit = parseFloat(engine.ver); 
 // 确定是Chroeme还是Safari 
 if (/Chrome\/(\S+)/.test(ua)){ 
 browser.ver = RegExp["$1"]; 
 browser.chrome = parseFloat(browser.ver); 
 } else if (/Version\/(\S+)/.test(ua)){ 
 browser.ver = RegExp["$1"]; 
 browser.safari = parseFloat(browser.ver); 
 else { 
 // 近似地确定版本号 
 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 = RegExp["$1"]; 
 engine.ie = browser.ie = parseFloat(engine.ver); 
 // 检测浏览器 
 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); 
 // 检测windows操作系统 
 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; 
 default: 
 system.win = "NT"; 
 break; 
 else if(RegExp["$1"] == "9x"){ 
 system.win = "ME"; 
 else{ 
 system.win = RegExp["$1"]; 
 // 移动设备 
 system.iphone = ua.indexOf("iPhone") 
 system.ipod = ua.indexOf("iPod") 
 system.ipad = ua.indexOf("iPad") 
 system.nokiaN = ua.indexOf("NokiaN") 
 // 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"]); 
 // 检测IOS版本 
 if(system.mac ua.indexOf("Mobile") -1){ 
 if(/CPU ( :Phone ) OS (\d+_\d+)/.test(ua)){ 
 system.ios = parseFloat(RegExp.$1.replace("_",".")); 
 else{ 
 system.ios = 2; 
 // 不能真正检测出来,所以只能猜测 
 // 检测Android版本 
 if(/Android (\d+\.\d+)/.test(ua)){ 
 system.android = parseFloat(RegExp.$1); 
 // 游戏系统 
 system.wii = ua.indexOf("Wii") 
 system.凡科抠图 = /playstation/i.test(ua); 
 // 返回这些对象 
 return { 
 engine: engine, 
 browser: browser, 
 system: system 
 // console.log(engine); 
 // console.log(browser); 
 // console.log(system); 
}();

以上这篇javascript浏览器用户代理检测脚本实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持凡科。




在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服