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 面向对象之命名空间
May 04 Javascript
纯Javascript实现Windows 8 Metro风格实现
Oct 15 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
Mar 03 Javascript
setTimeout()递归调用不加引号出错的解决方法
Sep 05 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
js实现旋转木马效果
Mar 17 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
Aug 11 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
Jan 11 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
Jan 31 Javascript
vue toggle做一个点击切换class(实例讲解)
Mar 13 Javascript
vue实现微信二次分享以及自定义分享的示例
Mar 20 Javascript
webpack4之如何编写loader的方法步骤
Jun 06 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下使用curl模拟用户登陆的代码
2010/09/10 PHP
mac下安装nginx和php
2013/11/04 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
javascript offsetX与layerX区别
2010/03/12 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
vue+Java后端进行调试时解决跨域问题的方式
2017/10/19 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
Python创建数字列表的示例
2019/11/28 Python
django实现模型字段动态choice的操作
2020/04/01 Python
幼儿教师个人求职信范文
2013/09/21 职场文书
自考生自我鉴定范文
2013/10/01 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
篝火晚会策划方案
2014/05/16 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
MySQL 逻辑备份与恢复测试的相关总结
2021/05/14 MySQL
Python 线程池模块之多线程操作代码
2021/05/20 Python
python中urllib包的网络请求教程
2022/04/19 Python