使用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 相关文章推荐
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 Javascript
浅析JavaScript中的typeof运算符
Nov 30 Javascript
jquery操作select方法汇总
Feb 05 Javascript
js实现多选项切换导航菜单的方法
Feb 06 Javascript
JQuery控制Radio选中方法分析
May 29 Javascript
深入学习jQuery中的data()
Dec 22 Javascript
Bootstrap源码解读按钮(5)
Dec 23 Javascript
Vue.js中的computed工作原理
Mar 22 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
Apr 27 Javascript
微信小程序一周时间表功能实现
Oct 17 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
Apr 25 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 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
PHP获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
浅析php工厂模式
2014/11/25 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
YII框架常用技巧总结
2019/04/27 PHP
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
在Vue 中实现循环渲染多个相同echarts图表
2020/07/20 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
SQL面试题
2013/12/09 面试题
餐饮总经理岗位职责
2014/03/07 职场文书
2014年药店工作总结
2014/11/20 职场文书
销售助理岗位职责
2015/02/11 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
Vue操作Storage本地化存储
2022/04/29 Vue.js