通过Javascript / jQuery检测Android手机

我如何检测到使用的设备是移动网站的Android?

我需要将某些CSS属性应用于Android平台。

谢谢

看看那个: http : //davidwalsh.name/detect-android

JavaScript的:

var ua = navigator.userAgent.toLowerCase(); var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile"); if(isAndroid) { // Do something! // Redirect to Android-site? window.location = 'http://android.davidwalsh.name'; } 

PHP:

 $ua = strtolower($_SERVER['HTTP_USER_AGENT']); if(stripos($ua,'android') !== false) { // && stripos($ua,'mobile') !== false) { header('Location: http://android.davidwalsh.name'); exit(); } 

这个单线程怎么样?

 var isAndroid = /(android)/i.test(navigator.userAgent); 

i修改器用于执行不区分大小写的匹配。


从cordovaAdMobtesting项目采取的技术: https : //github.com/floatinghotpot/cordova-admob-pro/wiki/00.-How-To-Use-with-PhoneGap-Build

这里不需要jQuery。 如前所述,您应该使用用户代理属性进行检查。 如果您对检测其他平台感兴趣,或者您是否一般在移动设备上,我写这个is-mobile组件可以检测到它。

随意导入它并使用如下例所示:

 isMobile.Android() => true/false isMobile.iOS() => true/false isMobile.Windows() => true/false isMobile.KindleFire() => true/false isMobile.any() => true/false 
 ;(function() { var redirect = false if (navigator.userAgent.match(/iPhone/i)) { redirect = true } if (navigator.userAgent.match(/iPod/i)) { redirect = true } var isAndroid = /(android)/i.test(navigator.userAgent) var isMobile = /(mobile)/i.test(navigator.userAgent) if (isAndroid && isMobile) { redirect = true } if (redirect) { window.location.replace('jQueryMobileSite') } })() 

我认为Michal的答案是最好的,但我们可以更进一步,根据原始问题dynamic加载Android CSS:

 var isAndroid = /(android)/i.test(navigator.userAgent); if (isAndroid) { var css = document.createElement("link"); css.setAttribute("rel", "stylesheet"); css.setAttribute("type", "text/css"); css.setAttribute("href", "/css/android.css"); document.body.appendChild(css); } 

js版本,也抓住了iPad:

 var is_mobile = /mobile|android/i.test (navigator.userAgent);