JS判断Android、iOS或浏览器的多种方法(四种方法)


Posted in Javascript onJune 29, 2017

第一种:通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。

代码如下:

<script type="text/javascript">
  var u = navigator.userAgent;
  var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
  var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
  alert('是否是Android:'+isAndroid);
  alert('是否是iOS:'+isiOS);
</script>

第二种:检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等。

<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.*/), //是否为移动终端
      ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
      android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
      iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
      iPad: u.indexOf('iPad') > -1, //是否iPad
      webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
      weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
      qq: u.match(/\sQQ/i) == " qq" //是否QQ
    };
  }(),
  language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
</script>

使用方法:

//判断是否IE内核 
if(browser.versions.trident){ alert(“is IE”); } 
//判断是否webKit内核 
if(browser.versions.webKit){ alert(“is webKit”); } 
//判断是否移动端 
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert(“移动端”); }

检测浏览器语言

currentLang = navigator.language; //判断除IE外其他浏览器使用语言 
if(!currentLang){//判断IE浏览器使用语言 
currentLang = navigator.browserLanguage; 
} 
alert(currentLang);

第三种:判断iPhone|iPad|iPod|iOS|Android客户端,来自http://www.fufuok.com/JS-iphone-android.html

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
  //alert(navigator.userAgent); 
  window.location.href ="iPhone.html";
} else if (/(Android)/i.test(navigator.userAgent)) {  //判断Android
  //alert(navigator.userAgent); 
  window.location.href ="Android.html";
} else { //pc
  window.location.href ="pc.html";
};

第四种:判断pc还是移动端

<script>
//判断是否手机端访问
  var userAgentInfo = navigator.userAgent.toLowerCase();
  var Agents = ["android", "iphone",
        "symbianos", "windows phone",
        "ipad", "ipod"];
  var ly=document.referrer; //返回导航到当前网页的超链接所在网页的URL
  for (var v = 0; v < Agents.length; v++) {
    if (userAgentInfo.indexOf(Agents[v]) >= 0&&(ly==""||ly==null)) {
      this.location.href='http://m.***.com'; //wap端地址
    }
  }
</script>

以上所述是小编给大家介绍的JS判断Android、iOS或浏览器的多种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
YUI 读码日记之 YAHOO.util.Dom - Part.1
Mar 22 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
JavaScript词法作用域与调用对象深入理解
Nov 29 Javascript
Javascript简单实现可拖动的div
Oct 22 Javascript
toggle()隐藏问题的解决方法
Feb 17 Javascript
js获取判断上传文件后缀名的示例代码
Feb 19 Javascript
Bootstrap模态框使用详解
Feb 15 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
javascript使用Blob对象实现的下载文件操作示例
Apr 18 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
May 25 Javascript
详解webpack分包及异步加载套路
Jun 29 #Javascript
JavaScript之map reduce_动力节点Java学院整理
Jun 29 #Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
Jun 29 #Javascript
JavaScript之iterable_动力节点Java学院整理
Jun 29 #Javascript
JavaScript之Map和Set_动力节点Java学院整理
Jun 29 #Javascript
JavaScript之面向对象_动力节点Java学院整理
Jun 29 #Javascript
JavaScript之json_动力节点Java学院整理
Jun 29 #Javascript
You might like
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
编写PHP脚本过滤用户上传的图片
2015/07/03 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
二行代码解决全部网页木马
2008/03/28 Javascript
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
jquery移动listbox的值原理及代码
2013/05/03 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
bootstrap动态调用select下拉框的实例代码
2018/08/09 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
2019/09/20 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
jQuery+ajax实现文件上传功能
2020/12/22 jQuery
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
详解Python中的四种队列
2018/05/21 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
2019/04/10 Python
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
TCP/IP模型的分界线
2012/12/01 面试题
中专生职业生涯规划书范文
2014/01/10 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
财务会计专业求职信
2014/06/09 职场文书
比赛口号大全
2014/06/10 职场文书
社区服务标语
2014/07/01 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
党支部意见范文
2015/06/02 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
如何通过一篇文章了解Python中的生成器
2022/04/02 Python