关闭

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

748人阅读 评论(0) 收藏 举报
分类:

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3655370次
    • 积分:59668
    • 等级:
    • 排名:第46名
    • 原创:2178篇
    • 转载:280篇
    • 译文:10篇
    • 评论:1592条
    文章存档
    最新评论