Detectar Android con Javascript o PHP

Vía David Walsh nos llegan estos pequeños snippets para detectar dispositivos Android a través de Javascript o PHP.

Javascript

Comprobamos el valor del user agent buscando la cadena “Android”. Realmente sencillo:

if( navigator.userAgent.match( /Android/i ) ) {
  // Do something!
  // Redirect to Android-site?
  window.location = 'http://android.mysite.com';
}

PHP

De nuevo, buscamos la cadena “Android” en el user agent reportado:

if( strstr( $_SERVER[ 'HTTP_USER_AGENT' ], 'Android' ) ) {
  header( 'Location: http://android.mysite.com' );
  exit();
}

Vía .htaccess

También podemos utilizar las directivas del .htaccess para detectar y reaccionar frente a los dispositivos Android:

RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$
RewriteRule ^(.*)$ http://android.mysite.com [R=301]

Y esto es todo: tres modos diferentes de deterctar dispositivos Android muy útiles para ofrecer funcionalidades adicionales o redirigir al usuario a una versión optimizada de nuestro sitio.

Acerca de Carlos Benítez

Programador Web y arquitecto Javascript. Fundador de www.etnassoft.com y OpenLibra, la Biblioteca Libre Online
Esta entrada fue publicada en Javascript, Php y etiquetada , , , . Guarda el enlace permanente. Sígueme en Twitter

Últimos libros gratuitos añadidos a OpenLibra

{2} Comentarios.

  1. 02Mar2011/
    22:14 h /

    De una manera similar podría hacerse con dispositivos iOS o Symbian ¿no?
    Saludos

    • 03Mar2011/
      8:16 h /

      Hola Óscar,
      efectivamente, para dispositivos Symbian, sería algo muy similar, pero comprobaríamos además de la cadena ‘symbian’, que se correspondiera con la serie y el motor correspondiente.
      Como son varios parámetros, los metemos mejor todos en una función:

      function detectSymbian(){
        var deviceS60 = "series60",
        deviceSymbian = "symbian",
        engineWebKit = "webkit",
        uAgent = navigator.userAgent.toLowerCase();  
        
        if ( uagent.search( engineWebKit ) > -1 ){
           if ( ( uagent.search( deviceS60 ) > -1 || uagent.search( deviceSymbian ) > -1 ) ){
              // Do something!
        			// Redirect to Android-site?
        			window.location = 'http://android.mysite.com';
           } else {
              return false;
           }
        } else {
        	return false;
        }
      }
      

      Ya sólo haría falta llamar a la función para que nos compruebe si se trata de un dispositivo Symbian.

      El tema de iOS lo voy a postear en un rato. Estate atento 🙂
      Gracias y un saludo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Licencia Creative Commons 3.0

®Copyright 2016. Cotenido web bajo licencia Creative Commons 3.0

Códigos bajo licencias MIT y GPL. Ver página de licencias para más información