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 Base64编码和解码,实现URL参数传递。
Sep 18 Javascript
jquery封装的对话框简单实现
Jul 21 Javascript
JS过滤url参数特殊字符的实现方法
Dec 24 Javascript
解决ueditor jquery javascript 取值问题
Dec 30 Javascript
使用ajaxfileupload.js实现上传文件功能
Aug 13 Javascript
js编写三级联动简单案例
Dec 21 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
Jan 27 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
Feb 26 Javascript
详解JSON和JSONP劫持以及解决方法
Mar 08 Javascript
node express使用HTML模板的方法示例
Aug 22 Javascript
使用 Element UI Table 的 slot-scope方法
Oct 10 Javascript
JS精确判断数据类型代码实例
Dec 18 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 方便水印和缩略图的图形类
2009/05/21 PHP
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
php导入excel文件到mysql数据库的方法
2015/01/14 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
2013/09/16 Javascript
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
Django如何实现内容缓存示例详解
2017/09/24 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
Python实现的计算器功能示例
2018/04/26 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
教导处工作制度
2014/01/18 职场文书
如何写一封打动人心的求职信
2014/02/17 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
民间借贷借条范本
2015/05/25 职场文书
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers