Corsi on-line

Intercettare iPhone e iPod e fare il redirect

Sempre più frequenti sono le connessioni ad Internet effettuate da dispositivi mobili come smartphone e palmari. Sicuramente tra i dispositivi mobili più diffusi ci sono quelli targati Apple, ovvero iPhone e iPod Touch.

Entrambi questi dispositivi montano nativamente il web-browser della casa di Cupertino – Safari – e, pertanto, consentono di navigare con una certa scioltezza tra le pagine web tradizionali (cioè create per essere visualizzate su i normali computer). Tuttavia, ovviamente, non sempre il risultato è eccellente.

Per questo motivo è buona norma, se avete un sito web piuttosto visitato, pensare di svilupparne una versione apposita per questo tipo di dispositivi dotati, per loro natura, di schermi decisamente più piccoli di quelli a cui siamo abituati utilizzando il computer di casa o dell’ufficio.

In questa sede non voglio addentrarmi nel merito dello sviluppo di pagine web per questo tipo di dispositivi, ma vorrei semplicemente presentarvi due semplici blocchi di script che, se inclusi sulla index del nostro sito, saranno in grado di riconoscere le chiamate provenienti da iPhone e iPod facendo un redirect dell’utente verso la pagina appositamente creata per una lettura ottimale con quel tipo di dispositivo.

Esempio in Javascript:

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
  window.location = "http://tuosito.com/iphone/";
}

Esempio in PHP:

if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod')) {
  header('Location: http://tuosito.com/iphone/');
  exit();
}

In entrambi i casi non faccio altro che verificare che nello UserAgent del client sia presente o meno una delle due locuzioni sospette (iPhone e iPod) e in caso affermativa lancio il redirect. Ovviamente è possibile riprodurre il medesimo risultato con qualsiasi altro linguaggio di scripting come ASP.Net o JSP.

E’ anche possibile effettuare il redirect su Apache usando un semplice file .htaccess

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{REQUEST_URI} !^/iphone/
RewriteRule .* /iphone/ [R]
Post correlati
I più letti del mese
Tematiche