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 相关文章推荐
window.onload追加函数使用示例
Mar 03 Javascript
JS动态添加Table的TR,TD实现方法
Jan 28 Javascript
jQuery固定元素插件scrolltofixed使用指南
Apr 21 Javascript
Javascript实现苹果悬浮虚拟按钮
Apr 10 Javascript
window.onload绑定多个事件的两种解决方案
May 15 Javascript
微信小程序实现倒计时补零功能
Jul 09 Javascript
如何检查一个对象是否为空
Apr 11 Javascript
vue+web端仿微信网页版聊天室功能
Apr 30 Javascript
jquery 验证用户名是否重复代码实例
May 14 jQuery
vue 实现微信浮标效果
Sep 01 Javascript
vue设置全局访问接口API地址操作
Aug 14 Javascript
jQuery实现简单弹幕制作
Dec 10 jQuery
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
世界上第一台立体声收音机
2021/03/01 无线电
php中HTTP_REFERER函数用法实例
2014/11/21 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
页面载入结束自动调用js函数示例
2013/09/23 Javascript
直接在JS里创建JSON数据然后遍历使用
2014/07/25 Javascript
使用JavaScript 实现的人脸检测
2015/03/24 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
vue之延时刷新实例
2019/11/14 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
Python中字符串对齐方法介绍
2015/05/21 Python
讲解Python中fileno()方法的使用
2015/05/24 Python
Python读取指定目录下指定后缀文件并保存为docx
2017/04/23 Python
Python判断有效的数独算法示例
2019/02/23 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
2016/12/15 HTML / CSS
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
单身联谊活动方案
2014/01/29 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
员工离职证明范本
2015/06/12 职场文书
人代会简报
2015/07/21 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL