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 相关文章推荐
javascript读写XML实现广告轮换(兼容IE、FF)
Aug 09 Javascript
js中哈希表的几种用法总结
Jan 28 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
Aug 13 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
Sep 20 Javascript
vue组件间通信子与父详解(二)
Nov 07 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
Jan 09 Javascript
基于JavaScript实现一个简单的Vue
Sep 26 Javascript
微信小程序实现滑动切换自定义页码的方法分析
Dec 29 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
Dec 06 Javascript
浅谈Vue static 静态资源路径 和 style问题
Nov 07 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
Zerg建筑一览
2020/03/14 星际争霸
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
EXT中xtype的含义分析
2010/01/07 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
如何给Python代码进行加密
2020/01/10 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
工商企业管理应届生求职信
2014/05/04 职场文书
村主任群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
营业员岗位职责范本
2015/04/14 职场文书
教师创先争优承诺书
2015/04/27 职场文书
教师廉政准则心得体会
2016/01/20 职场文书
redis 存储对象的方法对比分析
2021/08/02 Redis
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python
MySQL限制查询和数据排序介绍
2022/03/25 MySQL