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

原创 2016年06月02日 10:22:52

我们做前端开发时,需要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>

相关文章推荐

安卓调用webservice的一种方式及需注意的问题

摘要 通过ksoap2-android调用webservice方法示例及注意事项。 ksoap2 android webservice     最近的项目中有需要通过安卓去调用we...
  • sqzhao
  • sqzhao
  • 2014年12月31日 11:40
  • 601

js判断当前访问客户端是ios或安卓或微信

做这样的判断,原则上应该是后台程序判断处理,更为严谨;但是在一些h5页面中,不需要太严格,则通过js也可做对应判断。 原理:通过判断客户端的userAgent方式解决。 代码如下: va...

js 通过userAgent判断是安卓还是ios

var userAgent = navigator.userAgent; var isAndroid = userAgent.indexOf('Android') > -1 || userAgent...

动态控制输入框字数,兼容网页,安卓,ios(ios有一种奇怪的键盘输入,无法兼容,还在填坑。)

这个动态控制输入框字数,开始小女子做这个的时候,觉得吧,so easy. 的确如果只是单纯在pc端,那是没有丝毫压力。    不过这次做的是微信端的,必须兼容各个版本的手机,这个就为难小女子了。毕竟不...

手机网页版JS压缩上传图片--base64位 兼容IOS和安卓

首先,我用到了一款插件,是纯JS压缩上传插件,第一次用CSDN,不太会用,所以我把插件所有代码拷贝在文章末尾。 最基本,加载JS插件script src="__JS__/dist/lrz.mobile...

js调用安卓和ios代码

因为我是后台开发,所以只有js端代码 /* 判断是安卓还是ios ,调用的方法要跟ios端和安卓端约定方面名参数*/ var u = navigator.userAgent, app ...

安卓和ios App 标示机器的方式(mac地址 ,idfa)

安卓机器上获取mac地址的方式: public static String getMacAddress()  {   WifiManager wifi = (WifiManager) context...

获取安卓app的package和activity比较好用的方式

1、使用android自动化测试工具monkeyrunner启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法: 方法一:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JS如何判断安卓还是iOS 一种比较被认同的方式
举报原因:
原因补充:

(最多只允许输入30个字)