js判断手机端(Android手机还是iPhone手机)
网上常用的代码
/** *[isMobile判断平台] *@paramtest: 0:iPhone 1:Android */ functionismobile(test){ varu=navigator.userAgent,app=navigator.appVersion; if(/AppleWebKit.*Mobile/i.test(navigator.userAgent)||(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){ if(window.location.href.indexOf("?mobile")<0){ try{ if(/iPhone|mac|iPod|iPad/i.test(navigator.userAgent)){ return'0'; }else{ return'1'; } }catch(e){} } }elseif(u.indexOf('iPad')>-1){ return'0'; }else{ return'1'; } };
使用方法:
varpla=ismobile(1);
如果pla返回的是0:iPhone1:Android
代码一、
<scripttype="text/javascript"> varbrowser={ versions:function(){ varu=navigator.userAgent,app=navigator.appVersion; return{//移动终端浏览器版本信息 trident:u.indexOf('Trident')>-1,//IE内核 presto:u.indexOf('Presto')>-1,//opera内核 webKit:u.indexOf('AppleWebKit')>-1,//苹果、谷歌内核 gecko:u.indexOf('Gecko')>-1&&u.indexOf('KHTML')==-1,//火狐内核 mobile:!!u.match(/AppleWebKit.*Mobile/i)||!!u.match(/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/),//是否为移动终端 ios:!!u.match(/\(i[^;]+;(U;)?CPU.+MacOSX/),//ios终端 android:u.indexOf('Android')>-1||u.indexOf('Linux')>-1,//android终端或者uc浏览器 iPhone:u.indexOf('iPhone')>-1||u.indexOf('Mac')>-1,//是否为iPhone或者QQHD浏览器 iPad:u.indexOf('iPad')>-1,//是否iPad webApp:u.indexOf('Safari')==-1//是否web应该程序,没有头部与底部 }; }(), language:(navigator.browserLanguage||navigator.language).toLowerCase() } if(browser.versions.iPhone||browser.versions.iPad||browser.versions.ios){ window.location.href="https://www.nhooo.com"; } if(browser.versions.android){ window.location.href="http://www.qq.com"; } </script>
如何判断是否是iPad浏览器呢,关键是看它的UserAgent中是否有iPad。iPad使用的是SafariMobile浏览器,他的的UserAgent是:
Mozilla/5.0(iPad;U;CPUOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B334bSafari/531.21.10
Javascript代码
functionis_iPad(){
varua=navigator.userAgent.toLowerCase();
if(ua.match(/iPad/i)=="ipad"){
returntrue;
}else{
returnfalse;
}
}
因此,判断ipad,iphone,android的代码为:
<scripttype="text/javascript"> varbForcepc=fGetQuery("dv")=="pc"; functionfBrowserRedirect(){ varsUserAgent=navigator.userAgent.toLowerCase(); varbIsIpad=sUserAgent.match(/ipad/i)=="ipad"; varbIsIphoneOs=sUserAgent.match(/iphoneos/i)=="iphoneos"; varbIsMidp=sUserAgent.match(/midp/i)=="midp"; varbIsUc7=sUserAgent.match(/rv:1.2.3.4/i)=="rv:1.2.3.4"; varbIsUc=sUserAgent.match(/ucweb/i)=="ucweb"; varbIsAndroid=sUserAgent.match(/android/i)=="android"; varbIsCE=sUserAgent.match(/windowsce/i)=="windowsce"; varbIsWM=sUserAgent.match(/windowsmobile/i)=="windowsmobile"; if(bIsIpad){ varsUrl=location.href; if(!bForcepc){ window.location.href="http://m.jb51.net/?ipad"; } } if(bIsIphoneOs||bIsAndroid){ varsUrl=location.href; if(!bForcepc){ window.location.href="http://m.jb51.net/?iphone"; } } if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){ varsUrl=location.href; if(!bForcepc){ window.location.href="http://m.jb51.net/"; } } } functionfGetQuery(name){//获取参数值 varsUrl=window.location.search.substr(1); varr=sUrl.match(newRegExp("(^|&)"+name+"=([^&]*)(&|$)")); return(r==null?null:unescape(r[2])); } functionfShowVerBlock(){ if(bForcepc){ document.getElementById("dv_block").style.display="block"; } else{ document.getElementById("ad_block").style.display="block"; } } fBrowserRedirect(); </script>