您的位置:首页 > 移动开发 > IOS开发

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

2016-06-02 10:22 639 查看
我们做前端开发时,需要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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: