js判断手机端(Android手机还是iPhone手机)


Posted in Javascript onJuly 22, 2015

网上常用的代码

/**
 * [isMobile 判断平台]
 * @param test:	0:iPhone	1:Android
 */
function ismobile(test){
	var u = 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){}
	 }
	}else if( u.indexOf('iPad') > -1){
		return '0';
	}else{
		return '1';
	}
};

使用方法:

var pla=ismobile(1);

如果pla返回的是0:iPhone 1:Android

代码一、

<script type="text/javascript">
var browser = {
  versions: function () {
  var u = 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.+Mac OS X/), //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://3water.com";
}
if (browser.versions.android) {
window.location.href = "http://www.qq.com";
}
</script>

如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

Javascript代码
function is_iPad(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/iPad/i)=="ipad") {
return true;
} else {
return false;
}
}
因此,判断ipad,iphone,android的代码为:

<script type="text/javascript"> 
var bForcepc = fGetQuery("dv") == "pc"; 
function fBrowserRedirect(){ 
 var sUserAgent = navigator.userAgent.toLowerCase(); 
 var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; 
 var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; 
 var bIsMidp = sUserAgent.match(/midp/i) == "midp"; 
 var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; 
 var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb"; 
 var bIsAndroid = sUserAgent.match(/android/i) == "android"; 
 var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce"; 
 var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile"; 
 if(bIsIpad){ 
 var sUrl = location.href; 
 if(!bForcepc){ 
  window.location.href = "http://m.3water.com/?ipad"; 
 } 
 } 
 if(bIsIphoneOs || bIsAndroid){ 
 var sUrl = location.href; 
 if(!bForcepc){ 
  window.location.href = "http://m.3water.com/?iphone"; 
 } 
 } 
 if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){ 
 var sUrl = location.href; 
 if(!bForcepc){ 
  window.location.href = "http://m.3water.com/"; 
 } 
 } 
} 
function fGetQuery(name){//获取参数值 
 var sUrl = window.location.search.substr(1); 
 var r = sUrl.match(new RegExp("(^|&)" + name + "=([^&]*)(&|$)")); 
 return (r == null ? null : unescape(r[2])); 
} 
function fShowVerBlock(){ 
 if(bForcepc){ 
 document.getElementById("dv_block").style.display = "block"; 
 } 
 else{ 
 document.getElementById("ad_block").style.display = "block"; 
 } 
} 
fBrowserRedirect(); 
</script>
Javascript 相关文章推荐
收藏一些不常用,但是有用的代码
Mar 12 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
Nov 09 Javascript
window.name代替cookie的实现代码
Nov 28 Javascript
JavaScript设计模式初探
Jan 07 Javascript
7个jQuery最佳实践
Jan 12 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
Feb 13 Javascript
Bootstrap Table快速完美搭建后台管理系统
Sep 20 Javascript
js实现一个简易计算器
Mar 30 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
微信小程序tab左右滑动切换功能的实现代码
Feb 08 Javascript
详细聊聊浏览器是如何看闭包的
Nov 11 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
Jul 21 #Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 #Javascript
详解参数传递四种形式
Jul 21 #Javascript
jquery实现Ctrl+Enter提交表单的方法
Jul 21 #Javascript
jQuery实现html元素拖拽
Jul 21 #Javascript
异步安全加载javascript文件的方法
Jul 21 #Javascript
jquery实现鼠标滑过小图查看大图的方法
Jul 20 #Javascript
You might like
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
2012/08/01 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
子页向父页传值示例
2013/11/27 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
vue里input根据value改变背景色的实例
2018/09/29 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
python结合API实现即时天气信息
2016/01/19 Python
Python进阶学习之特殊方法实例详析
2017/12/01 Python
快速查询Python文档方法分享
2017/12/27 Python
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
Python如何读取文件中图片格式
2020/01/13 Python
Python如何对XML 解析
2020/06/28 Python
客户代表实习人员自我鉴定
2013/09/27 职场文书
行政专员岗位职责
2014/01/02 职场文书
医院实习介绍信
2014/01/12 职场文书
旅游专业职业生涯规划范文
2014/01/13 职场文书
初婚初育证明
2014/01/14 职场文书
一年级学生评语
2014/04/23 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书