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使用技巧精萃[代码非常实用]
Nov 21 Javascript
Jquery 绑定时间实现代码
May 03 Javascript
JS 获取鼠标左右键的键值方法
Oct 11 Javascript
js中hash和ico的关联分析
Feb 05 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
Apr 15 Javascript
jQuery对JSON数据进行排序输出的方法
Jun 24 Javascript
易操作的jQuery表单提示插件
Dec 01 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
Jan 05 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
Jun 16 Javascript
深入浅出ES6之let和const命令
Aug 25 Javascript
纯JS实现表单验证实例
Dec 24 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 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
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
javascript 中的 delete及delete运算符
2015/11/15 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
详解js中==与===的区别
2017/01/08 Javascript
Vue数组更新及过滤排序功能
2017/08/10 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
详解Python中的正则表达式的用法
2015/04/09 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
jupyter 导入csv文件方式
2020/04/21 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
html5+css3之动画在webapp中的应用
2014/11/21 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
个人思想理论学习的自我鉴定
2013/11/30 职场文书
运动会稿件200字
2014/02/07 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
2014年终个人工作总结
2014/11/07 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
canvas多重阴影发光效果实现
2021/04/20 Javascript