Detectar el teléfono Android a través de Javascript / jQuery
¿Cómo puedo detectar que el dispositivo en uso es un Android para un sitio web para móviles?
Necesito aplicar ciertos atributos css a la plataforma Android.
- Ajax no funciona - Jquery Phonegap Android
- Cambiar el tamaño de la página móvil de Jquery durante la transición de página
- Determinar y vincular eventos de clic o "toque"
- Phonegap local build - jquery ajax error: estado de readystate 0 responsetext estado 0 statustext error
- Mostrar una imagen desde url externa usando phonegap / jquery para android
Gracias
- Navegador Android: touchcancel está siendo disparado aunque touchmove tiene preventDefault
- ¿Cómo puedo crear una función similar a JQuery Slider en la aplicación web de iPhone / Android?
- Obtenga coordenadas del centro de la página web en dispositivos de tableta mediante JavaScript
- No se puede acceder al archivo php desde otro dominio
- ¿Cómo redireccionar a la página local html en phonegap android app?
- JQuery Mobile & PhoneGap deviceReady () no se disparó
- Copia al portapapeles en jquery / javascript sin flash para ipad / iphone
- Agregar opciones para seleccionar utilizando jQuery no funciona
Echa un vistazo a eso: 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(); }
ŻQué te parece este monoplaza?
var isAndroid = /(android)/i.test(navigator.userAgent);
El modificador i
se utiliza para realizar correspondencia entre mayúsculas y minúsculas.
Técnica extraída del proyecto de prueba de Cordova AdMob: https://github.com/floatinghotpot/cordova-admob-pro/wiki/00.-How-To-Use-with-PhoneGap-Build
;(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') } })()
No hay necesidad de jQuery aquí. Como ya se mencionó anteriormente, debe comprobarlo utilizando la propiedad de agente de usuario. Si estás interesado en detectar otras plataformas, o simplemente si estás en un dispositivo móvil en general, escribí este componente de is-mobile que puede detectarlo.
No dude en importarla y usarla como se muestra en estos ejemplos:
isMobile.Android() => true/false isMobile.iOS() => true/false isMobile.Windows() => true/false isMobile.KindleFire() => true/false isMobile.any() => true/false
Creo que la respuesta de Michal es la mejor, pero podemos dar un paso más y cargar dinámicamente un CSS para Android según la pregunta original:
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 versión, captura el iPad también:
var is_mobile = /mobile|android/i.test (navigator.userAgent);
- Drawable-hdpi, Drawable-mdpi, Drawable-ldpi Android
- ¿Es posible descargar un APK antiguo para mi aplicación desde Google Play?