//取得用户代理字符串 并全部小写。 var ua = navigator.userAgent.toLowerCase(); document.write(ua);
在上篇文章给大家介绍了基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
,感兴趣的朋友可以点击全文了解详情。
1、识别呈现引擎
引擎主要包含四种:IE、Gecko、WebKit、Opera
2、识别浏览器
主流浏览器包含四种:IE、Chrome、Firefox、Opera
3、识别平台
主流平台包含三类:Windows、Mac、Unix
4、识别Windows操作系统
Windows操作系统包含:Windows 98、Window NT、Window XP、Window Vista、Windows 7…
5、识别移动设备
主流的移动设备包含三类:iPhone、iPod、Anroid、Nokia
6、识别游戏系统。
主流的游戏系统包含两类:Wii、PS3。
网上发现的比较简单的区分代码:
JavaScript
var ua = navigator.userAgent.toLowerCase(); var isStrict = document.compatMode == \"CSS1Compat\" isOpera = ua.indexOf(\"opera\") > -1 isChrome = ua.indexOf(\"chrome\") > -1 isSafari = !isChrome && (/webkit|khtml/).test(ua) isSafari3 = isSafari && ua.indexOf(\'webkit/5\') != -1 isIE = !isOpera && ua.indexOf(\"msie\") > -1 isIE7 = !isOpera && ua.indexOf(\"msie 7\") > -1 isIE8 = !isOpera && ua.indexOf(\"msie 8\") > -1 isGecko = !isSafari && !isChrome && ua.indexOf(\"gecko\") > -1 isGecko3 = isGecko && ua.indexOf(\"rv:1.9\") > -1 isBorderBox = isIE && !isStrict isWin7 = ua.indexOf(\"nt 6.1\") > -1 isVista = ua.indexOf(\"nt 6.0\") > -1 isWin2003 = ua.indexOf(\"nt 5.2\") > -1 isWinXp = ua.indexOf(\"nt 5.1\") > -1 isWin2000 = ua.indexOf(\"nt 5.0\") > -1 isWindows = (ua.indexOf(\"windows\") != -1 || ua.indexOf(\"win32\") != -1) isMac = (ua.indexOf(\"macintosh\") != -1 || ua.indexOf(\"mac os x\") != -1) isAir = (ua.indexOf(\"adobeair\") != -1) isLinux = (ua.indexOf(\"linux\") != -1) var sys = \"\"; var broser = \"\"; if(isIE){ broser = \"IE 6\"; }else if(isIE7){ broser = \"IE 7\"; }else if(isIE8){ broser = \"IE 8\"; }else if(isOpera){ broser = \"Opera\"; }else if(isChrome){ broser = \"Chrome\"; }else if(isSafari){ broser = \"Safari\"; }else if(isSafari3){ broser = \"Safari3\"; }else{ broser = \"Unknow\"; } if(isWin7){ sys = \"Windows 7\"; }else if(isVista){ sys = \"Vista\"; }else if(isWinXp){ sys = \"Windows xp\"; }else if(isWin2003){ sys = \"Windows 2003\"; }else if(isWin2000){ sys = \"Windows 2000\"; }else if(isWindows){ sys = \"Windows\"; }else if(isMac){ sys = \"Macintosh\"; }else if(isAir){ sys = \"Adobeair\"; }else if(isLinux){ sys = \"Linux\"; }else{ sys = \"Unknow\"; } document.write(ua); alert(sys + \":\" + broser);
比较全面的区分代码:
JavaScript
var client = function(){ //呈现引擎 var engine = { ie : 0, gecko : 0, webkit : 0, khtml : 0, opera : 0, //完整的版本号 ver : null }; //浏览器 var browser = { //主要浏览器 ie : 0, firefox : 0, konq : 0, opera : 0, chrome : 0, safari : 0, //具体的版本号 ver : null }; //平台、设备和操作系统 var system ={ win : false, mac : false, xll : false, //移动设备 iphone : false, ipod : false, nokiaN : false, winMobile : false, macMobile : false, //游戏设备 wii : false, ps : 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); //确定是Chrome还是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) || /Konquersor\\/([^;]+)/.test(ua)){ engine.ver = browser.ver = RegExp[\"$1\"]; engine.khtml = browser.kong = paresFloat(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 = pareseFloat(browser.ver); } } else if(/MSIE([^;]+)/.test(ua)){ browser.ver = RegExp[\"$1\"]; browser.firefox = parseFloat(browser.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(?:doms)?([^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; default : system.win = \"NT\"; break; } } else if (RegExp[\"$1\"]){ system.win = \"ME\"; } else { system.win = RegExp[\"$1\"]; } } } //移动设备 system.iphone = ua.indexOf(\"iPhone\") > -1; system.ipod = ua.indexOf(\"iPod\") > -1; system.nokiaN = ua.indexOf(\"NokiaN\") > -1; system.winMobile = (system.win == \"CE\"); system.macMobile = (system.iphone || system.ipod); //游戏系统 system.wii = ua.indexOf(\"Wii\") > -1; system.ps = /playstation/i.test(ua); //返回这些对象 return { engine: engine, browser: browser, system: system }; }()
以上所述是小编给大家介绍的JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)的全部叙述,希望大家喜欢。
本文地址:https://www.stayed.cn/item/20933
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我