使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)


Posted in Javascript onJanuary 04, 2017

WEB开发中如何通过Javascript来判断终端为PC、IOS(iphone)、Android呢?

可以通过判断浏览器的userAgent,用正则来判断手机是否是ios和Android客户端。

var u = navigator.userAgent;
 isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
 isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

下面一个比较全面的浏览器检查函数,提供更多的检查内容,你可以检查是否是移动端(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);

上面只是平时用的最多的一种方法,其实还有第二种方法:

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
 //alert(navigator.userAgent); 
 window.location.href ="iPhone.html";
} else if (/(Android)/i.test(navigator.userAgent)) {
 //alert(navigator.userAgent); 
 window.location.href ="Android.html";
} else {
 window.location.href ="pc.html";
};

不同的终端设备采用不同的响应策略,具体场景灵活运用把哈哈。

以上所述是小编给大家介绍的使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
一些经常会用到的Javascript检测函数
May 31 Javascript
jQuery下通过$.browser来判断浏览器.
Apr 05 Javascript
jquery js 重置表单 reset()具体实现代码
Aug 05 Javascript
jquery中的on方法使用介绍
Dec 29 Javascript
js调用后台、后台调用前台等方法总结
Apr 17 Javascript
jquery简单实现幻灯片的方法
Aug 03 Javascript
解析js如何获取css样式
Dec 11 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
基于vue2.0+vuex的日期选择组件功能实现
Mar 13 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
Sep 27 Javascript
6种JavaScript继承方式及优缺点(小结)
Feb 06 Javascript
jquery+ajax实现省市区三级联动效果简单示例
Jan 04 #Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 #Javascript
深入理解Javascript中的valueOf与toString
Jan 04 #Javascript
使用UrlConnection实现后台模拟http请求的简单实例
Jan 04 #Javascript
js实现定时进度条完成后切换图片
Jan 04 #Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
Jan 04 #Javascript
深入理解JavaScript中的预解析
Jan 04 #Javascript
You might like
JpGraph php柱状图使用介绍
2011/08/23 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
2020/10/24 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
在Python程序和Flask框架中使用SQLAlchemy的教程
2016/06/06 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
python设置中文界面实例方法
2020/10/27 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
德国奢侈品网上商城:Mytheresa
2016/08/24 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
英语自荐信常用语句
2013/12/13 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
融资租赁计划书
2014/04/29 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python