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 相关文章推荐
修改file按钮的默认样式实现代码
Apr 23 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
招聘网站基于jQuery实现自动刷新简历
May 10 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
Aug 07 Javascript
基于vue的下拉刷新指令和滚动刷新指令
Dec 23 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
May 17 jQuery
JS通过调用微信API实现微信支付功能的方法示例
Jun 29 Javascript
JS扩展String.prototype.format字符串拼接的功能
Mar 09 Javascript
关于微信小程序bug记录与解决方法
Aug 15 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
Jun 17 Javascript
vue eslint简要配置教程详解
Jul 26 Javascript
加速vue组件渲染之性能优化
Apr 09 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
laravel自定义分页效果
2017/07/23 PHP
一个tab标签切换效果代码
2009/03/27 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
js Math 对象的方法
2013/09/01 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
给angular加上动画效遇到的问题总结
2016/02/17 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
webpack3+React 的配置全解
2017/08/21 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
Python之PyUnit单元测试实例
2014/10/11 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
Python中的集合介绍
2019/01/28 Python
python读取与处理netcdf数据方式
2020/02/14 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
Europcar美国/加拿大:预订汽车或卡车租赁服务
2018/11/13 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
《维生素c的故事》教学反思
2014/02/18 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
导游欢迎词范文
2015/01/23 职场文书