Detectar Android, iPad o iPhone con javascript, php o htaccess

Escrito por y leído 16,354 veces. Ver comentarios

Detectar Android, iPad o iPhone con javascript, php o htaccess

Vía el blog (interesantísimo por cierto) de David Walsh, nos deja 3 post donde nos explica con 2 líneas de código como detectar si tu visitante está utilizando el sistema operativo Android, un iPad o un iPhone/iPod.

Los artículos completos están en:

A continuación los códigos, pero no olvides que visitar el post original de cada caso por si se me escapó algo.

Nota: la detección de iPhone con htaccess la aporté yo.

Código 1 - JAVASCRIPT
// android
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';
}

// ipad
// For use within normal web clients 
var isiPad = navigator.userAgent.match(/iPad/i) != null;

// For use within iPad developer UIWebView
// Thanks to Andrew Hedges!
var ua = navigator.userAgent;
var isiPad = /iPad/i.test(ua) || /iPhone OS 3_1_2/i.test(ua) || /iPhone OS 3_2_2/i.test(ua);

// iphone/ipod
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
   if (document.cookie.indexOf("iphone_redirect=false") == -1) window.location = "http://m.espn.go.com/wireless/?iphone&i=COMR";
}
Código 2 - PHP
// android
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(stripos($ua,'android') !== false) { // && stripos($ua,'mobile') !== false) {
  header('Location: http://android.davidwalsh.name');
  exit();
}

// ipad
$isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');

// iphone/ipod
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod'))
{
  header('Location: http://yoursite.com/iphone');
  exit();
}
Código 3 - HTACCESS
// android
RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$
RewriteRule ^(.*)$ http://android.davidwalsh.name [R=301]

// ipad
RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$
RewriteRule ^(.*)$ http://ipad.yourdomain.com [R=301]

// iphone/ipod
RewriteEngine on  
RewriteCond ${HTTP_USER_AGENT} iPhone  
RewriteRule .* http://m.tuweb.com

Acerca del Autor:

Diseñador web freelance en Coruña Galicia | Martin Iglesias

Martín Iglesias, diseñador web freelance de A Coruña, especializado en maquetación css y desarrollo de páginas web a medida con más de 15 años de experiencia en el desarrollo de páginas web profesionales.

Si te ha gustado este artículo, por favor, ayúdame a difundirlo compartiéndolo con tus amigos y contactos en las distintas redes sociales que utilices. ¡Muchas gracias!

Artículos relacionados:

Este artículo ha salido en un total de 845 búsquedas desde Google en sus 757 días de vida y ha sido visto 16,354 veces.