JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
//取得用户代理字符串并全部小写。 varua=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操作系统包含:Windows98、WindowNT、WindowXP、WindowVista、Windows7…
5、识别移动设备
主流的移动设备包含三类:iPhone、iPod、Anroid、Nokia
6、识别游戏系统。
主流的游戏系统包含两类:Wii、PS3。
网上发现的比较简单的区分代码:
JavaScript
varua=navigator.userAgent.toLowerCase(); varisStrict=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("msie7")>-1 isIE8=!isOpera&&ua.indexOf("msie8")>-1 isGecko=!isSafari&&!isChrome&&ua.indexOf("gecko")>-1 isGecko3=isGecko&&ua.indexOf("rv:1.9")>-1 isBorderBox=isIE&&!isStrict isWin7=ua.indexOf("nt6.1")>-1 isVista=ua.indexOf("nt6.0")>-1 isWin2003=ua.indexOf("nt5.2")>-1 isWinXp=ua.indexOf("nt5.1")>-1 isWin2000=ua.indexOf("nt5.0")>-1 isWindows=(ua.indexOf("windows")!=-1||ua.indexOf("win32")!=-1) isMac=(ua.indexOf("macintosh")!=-1||ua.indexOf("macosx")!=-1) isAir=(ua.indexOf("adobeair")!=-1) isLinux=(ua.indexOf("linux")!=-1) varsys=""; varbroser=""; if(isIE){ broser="IE6"; }elseif(isIE7){ broser="IE7"; }elseif(isIE8){ broser="IE8"; }elseif(isOpera){ broser="Opera"; }elseif(isChrome){ broser="Chrome"; }elseif(isSafari){ broser="Safari"; }elseif(isSafari3){ broser="Safari3"; }else{ broser="Unknow"; } if(isWin7){ sys="Windows7"; }elseif(isVista){ sys="Vista"; }elseif(isWinXp){ sys="Windowsxp"; }elseif(isWin2003){ sys="Windows2003"; }elseif(isWin2000){ sys="Windows2000"; }elseif(isWindows){ sys="Windows"; }elseif(isMac){ sys="Macintosh"; }elseif(isAir){ sys="Adobeair"; }elseif(isLinux){ sys="Linux"; }else{ sys="Unknow"; } document.write(ua); alert(sys+":"+broser);
比较全面的区分代码:
JavaScript
varclient=function(){ //呈现引擎 varengine={ ie:0, gecko:0, webkit:0, khtml:0, opera:0, //完整的版本号 ver:null }; //浏览器 varbrowser={ //主要浏览器 ie:0, firefox:0, konq:0, opera:0, chrome:0, safari:0, //具体的版本号 ver:null }; //平台、设备和操作系统 varsystem={ win:false, mac:false, xll:false, //移动设备 iphone:false, ipod:false, nokiaN:false, winMobile:false, macMobile:false, //游戏设备 wii:false, ps:false }; //检测呈现引擎和浏览器 varua=navigator.userAgent; if(window.opera){ engine.ver=browser.ver=window.opera.version(); engine.opera=browser.opera=parseFloat(engine.ver); }elseif(/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); }elseif(/Version\/(\S+)/.test(ua)){ browser.ver=RegExp["$1"]; browser.safari=parseFloat(browser.ver); }else{ //近似地确定版本号 varsafariVersion=1; if(engine.webkit<100){ safariVersion=1; }elseif(engine.webkit<312){ safariVersion=1.2; }elseif(engine.webkit<412){ safariVersion=1.3; }else{ safariVersion=2; } browser.safari=browser.ver=safariVersion; } }elseif(/KHTML\/(\S+)/.test(ua)||/Konquersor\/([^;]+)/.test(ua)){ engine.ver=browser.ver=RegExp["$1"]; engine.khtml=browser.kong=paresFloat(engine.ver); }elseif(/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); } }elseif(/MSIE([^;]+)/.test(ua)){ browser.ver=RegExp["$1"]; browser.firefox=parseFloat(browser.ver); } //检测浏览器 browser.ie=engine.ie; browser.opera=engine.opera; //检测平台 varp=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; } }elseif(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学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)的全部叙述,希望大家喜欢。