Определение устройств

iPad

Для определения iPad можно использовать способ, рекомендованный Apple. Браузер, запущенный на iPad имеет в свойстве user-agent строку:


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

С её помощью и можно определить, что посетитель зашёл на вашу страницу при помощи iPad.

JavaScript

При помощи регулярного выражения String.match можно быстро определить наличие строки «iPad»


// Обычные браузеры
var isiPad = navigator.userAgent.match(/iPad/i) != null;
// iPad
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);

Демонстрация

PHP

Для PHP можно использовать предопределенные константы.


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

.htaccess

C помощью .htaccess можно сделать перенаправление на нужную страницу, специально подготовленную для конкретного устройтсва.


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

iPhone & iPod

JavaScript


if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
   if (document.cookie.indexOf("iphone_redirect=false") == -1) window.location = "http://iphone.alexanderklimov.ru";
}

PHP


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

Android

Аналогично происходит определение устройств на Android.

JavaScript


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';
}

PHP


$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(stripos($ua,'android') !== false) { // && stripos($ua,'mobile') !== false) {
  header('Location: http://android.alexanderklimov.ru');
  exit();
}

.htaccess


RewriteCond %{HTTP_USER_AGENT} ^.*Android.*$
RewriteRule ^(.*)$ http://android.davidwalsh.name [R=301]

Перенаправление при помощи .htaccess


#redirect mobile browsers
RewriteCond %{HTTP_USER_AGENT} ^.*iPhone.*$
RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*BlackBerry.*$
RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301]
RewriteCond %{HTTP_USER_AGENT} ^.*Palm.*$
RewriteRule ^(.*)$ http://mobile.yourdomain.com [R=301]

Опубликовано 16 апреля 2011 года

Реклама