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 相关文章推荐
js字符编码函数区别分析
Jun 05 Javascript
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
Dec 02 Javascript
JavaScript 事件记录使用说明
Oct 20 Javascript
一些mootools的学习资源
Feb 07 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
Mar 12 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
May 30 Javascript
基于Javascript倒计时效果
Dec 22 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
Apr 26 jQuery
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
浅析JavaScript异步代码优化
Mar 18 Javascript
vue实现微信二次分享以及自定义分享的示例
Mar 20 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
Sep 16 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
在同一窗体中使用PHP来处理多个提交任务
2006/10/09 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
django框架如何集成celery进行开发
2017/05/24 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
深入理解Django的中间件middleware
2018/03/14 Python
python中reader的next用法
2018/07/24 Python
python爬取指定微信公众号文章
2018/12/20 Python
Python实现网站表单提交和模板
2019/01/15 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
python导入pandas具体步骤方法
2019/06/23 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
python构造IP报文实例
2020/05/05 Python
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
全陪导游欢迎词
2014/01/17 职场文书
五年级英语教学反思
2014/01/31 职场文书
护士毕业实习感言
2014/03/05 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
创业女性典型材料
2014/05/02 职场文书
清明节演讲稿
2014/05/27 职场文书
公司委托书怎么写
2014/08/02 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
党员个人总结自评
2015/02/14 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL