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 相关文章推荐
struts2+jquery+json实现异步加载数据(自写)
Jun 24 Javascript
javascript ready和load事件的区别示例介绍
Aug 30 Javascript
iframe的onreadystatechange事件在firefox下的使用
Apr 16 Javascript
判断及设置浏览器全屏模式
Apr 20 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 Javascript
多个js毫秒倒计时同时进行效果
Jan 05 Javascript
JS代码防止SQL注入的方法(超简单)
Apr 12 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
Dec 23 Javascript
如何获取TypeScript的声明文件.d.ts
May 01 Javascript
npm 下载指定版本的组件方法
May 17 Javascript
解决vue 项目引入字体图标报错、不显示等问题
Sep 01 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 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
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
php写app用的框架整理
2019/09/29 PHP
JS查看对象功能代码
2008/04/25 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
AngularJS中的JSONP实例解析
2016/12/01 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
Django中间件实现拦截器的方法
2018/06/01 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
激情洋溢的毕业生就业求职信
2014/03/15 职场文书
公司领导班子对照材料
2014/08/18 职场文书
北京故宫导游词
2015/01/31 职场文书
繁星春水读书笔记
2015/06/30 职场文书
2016寒假假期总结
2015/10/10 职场文书
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js