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学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)的全部叙述,希望大家喜欢。