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>