我们做前端开发时,需要JS判断客户端是否是iOS或者Android,那么什么方法最靠谱,多数人比较认同呢?我们可以通过userAgent来判断,比如检测某些关键字,例如:AppleWebKit*****Mobile或AppleWebKit,需要注意的是有些浏览器的userAgent中并不包含AppleWebKit关键字,可能会是Linux,UCBrowser等等。

下面是Javascript代码:

<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.*/)||!!u.match(/AppleWebKit/), //是否为移动终端 
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQ HD浏览器 
iPad: u.indexOf('iPad') > -1, //是否iPad 
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 
}; 
}(), 
language:(navigator.browserLanguage || navigator.language).toLowerCase() 

 
document.writeln("语言版本: "+browser.language); 
document.writeln(" 是否为移动终端: "+browser.versions.mobile); 
document.writeln(" ios终端: "+browser.versions.ios); 
document.writeln(" android终端: "+browser.versions.android); 
document.writeln(" 是否为iPhone: "+browser.versions.iPhone); 
document.writeln(" 是否iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent); 
</script>

JS如何判断安卓还是iOS 一种比较被认同的方式相关推荐

  1. 判断浏览器是手机端还是pc端 以及判断安卓还是iOS

    // 方法一 function IsPC() {var userAgentInfo = navigator.userAgent; var Agents = ["Android", ...

  2. js 判断安卓,ios,微信浏览器

    1.判断浏览器 var xt= {versions: function() {var u = navigator.userAgent,app = navigator.appVersion;return ...

  3. js判断安卓和ios分别下载

    <script type="text/javascript">/** 智能机浏览器版本信息:**/var browser = {versions: function() ...

  4. 判断安卓苹果IOS自动跳转到对应链接下载地址升级版

    因为APP的各个系统不同区分苹果和安卓所以应该有两个下载地址,想让链接自动识别是苹果IOS还是安卓然后跳转到对应的下载链接,寻找了许久,都是JS识别,但是没有一个有用的!(或者不适合我) 于是寻找PH ...

  5. vue h5判断安卓或IOS并打开APP

    最近一直在忙,可能也是因为年底了,所有的项目都要收尾.好几个项目穿插开发,中间也遇到了些问题同时也学到了之前没涉及到的知识点.今天虽然是周六,但还是在加班中,趁着需求还在确认中,先整理一篇笔记.还有一 ...

  6. 面试题31:JS中判断是数组的四种方法

    目录 第一种:Array.isArray 第二种:instanceof 第三种:通过constructor判断 instanceof和constructor的判定也存在一些弊端 第四种:通过Objec ...

  7. iOS两种设置启动图片的方式

    设置启动界面有两种方式,都在工程配置界面中,如图: 推荐用Launch Screen File方式,优点是只需要在storyboard中设置一张图片就可以,而且还可以加各种控件排版,比较灵活. Lau ...

  8. 安卓也是html写的么,css能判断手机是安卓还是ios吗?

    前端写web页面的时候会遇到安卓手机与iOS手机页面展示不一样,还有就是在写APP的时候,此时就会遇到判断手机类型.那么css能够判断手机类型是安卓还是ios吗? css能判断手机是安卓还是ios吗? ...

  9. android iphone css,css能判断手机是安卓还是ios吗?

    前端写web页面的时候会遇到安卓手机与iOS手机页面展示不一样,还有就是在写APP的时候,此时就会遇到判断手机类型.那么css能够判断手机类型是安卓还是ios吗? css能判断手机是安卓还是ios吗? ...

最新文章

  1. Fragment 中使用 getLayoutInflater() 的问题
  2. 蚂蚁金服大佬自述:保持学习力,永远胜过不切实际的一夜暴富幻想!
  3. Bit-Z携手Bit-MY落户马来西亚 已获得经营牌照
  4. java groovyshell_在java中使用groovy怎么搞
  5. fedora 33 topbar_最新!新增确诊病例33例,其中本土病例1例
  6. pptx字体类的相关方法
  7. Esxi直接使用vmdk文件创建虚机
  8. python与机器学习(一)图片相关操作
  9. Mac电脑上java如何手动释放内存?
  10. read from and write to file
  11. qt html 案例,QT代替WebView的方法及使用例子
  12. Matlab小波变换-音频去噪
  13. JVAV - 对接支付宝- 下载对账单接口
  14. ActiveMQ消息持久化_队列_7
  15. 如何解决MathType 6.9 中公式无法删除的问题
  16. linux win95模拟,Windows 95模拟器
  17. STM32实现德飞莱LED滚动效果
  18. MySQL-老杜学习笔记
  19. C# 特殊运算符 |,,^的运用
  20. Vue编译处理: warning Delete `␍` prettier/prettier

热门文章

  1. html富文本编辑器插件_vue中使用vuequilleditor富文本编辑器
  2. 框架的特性_Go 语言 Web 框架 Echo 系列:基础篇—通过一个例子串联各特性
  3. 产品经理与产品运营哪个更有前途/钱途?
  4. 元宵节快乐 | 2月15日 星期二 | 携程在国内率先开启混合办公模式;米哈游推出元宇宙品牌;AMD宣布完成对赛灵思的收购...
  5. 正月初六 | 2月17日 星期二 | 快手体育拿下斯诺克赛事版权;华为推出“智慧养猪”方案;春节档总票房突破60亿元...
  6. 高效率人士的日常习惯
  7. 5G零售行业应用白皮书
  8. python实时读取日志并打印关键字怎么实现_python pytest测试框架介绍五---日志实时输出...
  9. 服务器系统怎么用备份启动,如何用veeam给windows服务器做备份?
  10. 【计算机组成原理】指令系统