Detekce iPadu pomocí JavaScriptu nebo PHP

Zdá se, že nejžhavějším zařízením v současnosti je iPad. iPad tohle, iPad tamto, iPod tvoje máma. Jsem ohromen zařízením, ale to neznamená, že bych se neměl pokoušet zohledňovat taková zařízení na webových stránkách, které vytvářím. V listu s tipy pro vývojáře společnosti Apple poskytují řetězec uživatelského agenta iPadu:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10

Vzhledem k tomuto řetězci můžeme vytvořit několik úryvků kódu, abychom zjistili, zda je uživatel samolibý bastard používající iPad.

JavaScript

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

Rychlý test regulárního výrazu String.match může zkontrolovat přítomnost „iPadu“ v řetězci uživatelského agenta.

PHP

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

Tentokrát hledáme pozici „iPad“ v řetězci user agent.

Htaccess

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

S využitím určité logiky z vynikajícího mobilního příspěvku Drewa Douglasse přesměrování můžeme uživatele přesměrovat na mobilní verzi vašeho webu, pokud si to přejete.

K čemu byste tedy výše uvedené testy? Možná budete chtít přesměrovat uživatele iPadu na jinou verzi vašeho webu. Pokud váš uživatel surfuje na iPadu, možná budete chtít na svůj standardní web implementovat různé styly.