Detectar iPad con Javascript o PHP

En la línea del snippet anterior para detectar dispositivos Android con Javascript o PHP, en esta ocasión hacemos lo propio para el iPad.

Javascript

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

PHP

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

Vía .htaccess

También podemos hacer la detección vía .htaccess y sus directivas:

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

Bonus iPad developer UIWebView

Para los programadores de aplicaciones nativas, es interesante detectar el entorno de desarrollo a través del UIWebView:

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

Y eso es todo. Con estos pequeños códigos, podemos detectar dispositivos iPad para redirigir al usiario a una versión optimizada del sitio, bloquearle el acceso o mostrar alguna funcionalidad extra.

Vía: David Wals

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

{3} Comentarios.

  1. 03Abr2011/
    13:45 h /

    Ya había hecho la detección con JS y PHP (aunque prefería con PHP), pero ese del .htaccess me parece más que interesante que los dos primeros. Lo probaré, muchas gracias por el tip.

  2. 08Abr2011/
    17:55 h /
    @jonasanx

    Creo que esto no es mas que un capricho personal, pero yo suelo usar Lighttpd en mis proyectos, así que ¿cual seria la equivalencia de .htaccess en Lighttpd?.

    • 08Abr2011/
      21:48 h /

      Hola;
      para detectar un determinado navegador en Lighttpd, el concepto es muy similar:

      $HTTP["useragent"] =~ "iPad" {
          url.redirect = ( "^/(.*)" => "http://ipad.mysite.com" )
      }
      

      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