Detectar iPad con Javascript o PHP

03 Mar 2011

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

Más:

{3} Comentarios.

  1. JuniHH

    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. @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?.

    • Carlos Benítez

      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 *