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 相关文章推荐
js 小数取整的函数
May 10 Javascript
Jqyery中同等与js中windows.onload的应用
May 10 Javascript
5个javascript的数字格式化函数分享
Dec 07 Javascript
关于 文本框默认值 的操作js代码
Jan 12 Javascript
jQuery.each()用法分享
Jul 31 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
Jun 15 Javascript
jquery处理json对象
Nov 03 Javascript
js实现浏览本地文件并显示扩展名的方法
Aug 17 Javascript
jQuery实现的仿select功能代码
Aug 19 Javascript
js中获取时间new Date()的全面介绍
Jun 20 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
Mar 24 Javascript
微信小程序bindtap事件与冒泡阻止详解
Aug 08 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
substr()函数中文版
2006/10/09 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
php简单图像创建入门实例
2015/06/10 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
JavaScript返回上一页的三种方法及区别介绍
2015/07/04 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
Vue路由之JWT身份认证的实现方法
2019/08/26 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python字符串连接方式汇总
2014/08/21 Python
django加载本地html的方法
2018/05/27 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
财务会计实习报告体会
2013/12/20 职场文书
学期研究性学习个人的自我评价
2014/01/09 职场文书
大学生演讲稿
2014/04/25 职场文书
学院党委班子四风问题自查报告及整改措施
2014/10/25 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server