使用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 ui dialog里调用datepicker的问题
Aug 06 Javascript
jquery实现metro效果示例代码
Sep 06 Javascript
jQuery模拟点击A标记示例参考
Apr 17 Javascript
jquery form 加载数据示例
Apr 21 Javascript
JavaScript限定图片显示大小的方法
Mar 11 Javascript
JavaScript操作select元素和option的实例代码
Jan 29 Javascript
vue构建单页面应用实战
Apr 10 Javascript
详解vue数据渲染出现闪烁问题
Jun 29 Javascript
十个免费的web前端开发工具详细整理
Sep 18 Javascript
详解vue后台系统登录态管理
Apr 02 Javascript
利用d3.js实现蜂巢图表带动画效果
Sep 03 Javascript
基于js实现的图片拖拽排序源码实例
Nov 04 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的宝库目录--PEAR
2006/10/09 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
php实现遍历文件夹的方法汇总
2017/03/02 PHP
Laravel下生成验证码的类
2017/11/15 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
js验证IP及子网掩码的合法性有效性示例
2014/04/30 Javascript
Nodejs实现多人同时在线移动鼠标的小游戏分享
2014/12/06 NodeJs
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
微信开发之微信jssdk录音功能开发示例
2018/10/22 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
Python机器学习之决策树算法
2017/12/22 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
Python判断变量名是否合法的方法示例
2019/01/28 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
用Python配平化学方程式的方法
2019/07/20 Python
详解python pandas 分组统计的方法
2019/07/30 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
python怎么判断素数
2020/07/01 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
2020/09/03 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
德国购买健身器材:AsVIVA
2017/08/09 全球购物
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
美国球迷装备的第一来源:FOCO
2020/07/03 全球购物
留学推荐信写作指南
2014/01/25 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
财务经理岗位职责
2015/01/31 职场文书
Java实现多线程聊天室
2021/06/26 Java/Android
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android