通过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);