使用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 参考教程
Dec 29 Javascript
sliderToggle在写jquery的计时器setTimeouter中不生效
May 26 Javascript
angularjs基础教程
Dec 25 Javascript
javascript中undefined与null的区别
Aug 16 Javascript
基于javascript实现页面加载loading效果
Sep 15 Javascript
JS使用onerror捕获异常示例
Aug 03 Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 Javascript
vue页面跳转后返回原页面初始位置方法
Feb 11 Javascript
vue实现搜索功能
May 28 Javascript
js实现多张图片每隔一秒切换一张图片
Jul 29 Javascript
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
May 26 Javascript
原生javascript如何实现共享onload事件
Jul 03 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
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
2018/05/29 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
为JavaScript添加重载函数的辅助方法
2010/07/04 Javascript
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
Javascript函数式编程简单介绍
2015/10/11 Javascript
AngularJS验证信息框架的封装插件用法【w5cValidator扩展插件】
2016/11/03 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
Vue注册组件命名时不能用大写的原因浅析
2019/04/25 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
JS实现轮播图效果
2020/01/11 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
iview实现图片上传功能
2020/06/29 Javascript
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
Python中安装easy_install的方法
2018/11/18 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
一道Delphi面试题
2016/10/28 面试题
网络优化专员求职信
2014/05/04 职场文书
付款证明模板
2015/06/19 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
QT与javascript交互数据的实现
2021/05/26 Javascript
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
教你做个可爱的css滑动导航条
2021/06/15 HTML / CSS