Определение Android устройства на PHP, JavaScript, htaccess

С развитием мобильных устройств, вебмастера все больше уделяют времени разработке именно для портативных устройств. Хороший сайт должен выглядеть одинаково не только в разных браузерах, но и корректно на разных устройствах. Поэтому важно определять тип клиента и вносить некоторые изменение в структуру сайта, конкретно для каждого из них.

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

Мы уже рассматривали, как определить пользователей iPad, iPhone на PHP. Сегодня мы научимся определять Android клиент разными способами. То есть с помощью JavaScript, PHP или .htaccess. Почему именно так?

Порой бывает необходимо только подгрузить нужный CSS файл, для этого можно обойтись JavaScript определением клиента «Android».

Если нужно больше… перенаправить на поддомен, или другой URL, тогда подойдет PHP или .htaccess вариант.

Помните! некоторым пользователям не по душе, когда их «посылают» на разные домены.

JavaScript

Поиск строки UserAgent, является наиболее быстрым методом определения Android с помощью JS.

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
  // Делаем что-то, если это андроид!
  // Или перенаправим на андроид сайт
  window.location = 'http://android.site.ru';
}

PHP

Опять, тот же UserAgent, только используем функцию strstr, для поиска слова Android:

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

.htaccess

Мы можем использовать даже .htaccess директивы, для идентификации Android устройств.

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

Вот и все! Теперь у вас есть три разных способа определения Android устройств! Надеюсь, эта статья была полезной и не скучной! Успехов вам в мобильной разработке!


Источник материала ...

Дальше: Сайт СДЛ, в чем разница между рядовым сайтом и сайтом для людей?


Дискуссия по теме     8 Комментариев
Добавить комментарий
Александр 21.10.2014 в 12:48
Добрый день, прочитал статью, полезно и познавательно. Интересует как можно определить агента, и после этого вывести строку или банер с предложением скачать приложение для его устройства, так будет на мой взгляд правильнее, не навязывая клиенту мобильную версию, предложить скачать приложение для его устройства. Подскажите как реализовать?
Андрей 13.02.2014 в 13:53
var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i); }, BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i); }, iOS: function() { return navigator.userAgent.match(/iPhone|iPad|iPod/i); }, Opera: function() { return navigator.userAgent.match(/Opera Mini/i); }, Windows: function() { return navigator.userAgent.match(/IEMobile/i); }, any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()); } };
Борис 22.02.2013 в 10:41
Я нашел решение. Для мобильных устройств я сделал редирект при помощи http://detectmobilebrowsers.com/ здесь скрипт в javascript сохранил, указав нужны ссылки и все. Все работает) Но только теперь возник еще один глупый вопросы) Человек зашел на основной сайт и его перекинуло на посадочную мобильную функциональную страницу(аля мини сайта на javascript с адаптивным слайдшоу и прочей краткой информацией). Но внизу есть ссылка на полную версию сайта. Проблема в том, что когда человек пройдя по этой ссылке(полная версия сайта), он редиректится на мобильную страницу. Как сделать так, чтобы его не перекидывало на моб версию? Использовать GET параметр в урле, который как нить блокировал редирект?
Тарас 25.02.2013 в 12:06
В куках нужно хранить переменную о предпочитаемой пользователем версии сайта. За ссылку спасибо.
Борис 25.02.2013 в 15:10
А вы не подскажите пример, где и как это реализовано? Спасибо
Тарас 28.02.2013 в 00:20
Человека перекинуло на моб. сайт, при нажатии на ссылку перехода на норм. сайт должен выполнятся этот php код: // Устанавливаем время для хранения куков (1 месяц) $version = "normal"; $time_to_cookies = time() 3600*24*30; SetCookie("site_version", $version, $time_to_cookies, "/", "", 0); //так мы записываем переменную в куки... а получаем и проверяем так if($_COOKIE['site_version'] == "normal"){ // переадресация на нормальную версию сайта... }
Борис 20.02.2013 в 14:13
Добрый день, очень понравилось редирект с помощью javascript. Я сделал такой же для iOs. У меня вопрос, а как сделать редирект через javascript для устройств на windows phone (nokia lumia и прочее) ? Спасибо.
Тарас 21.02.2013 в 17:33
За windows phone не знаю, самому надо... если найдете решение, дайте знать.
Добавить комментарий
Просмотров: 16414
Страхование КАСКО
карта банка
ндфл
усн
Оформление доверенности
страхование ипотеки
esim
осаго
ВЗР страхование
кредитная карта
Cialis barato Viagra Contrareembolso Cialis 5 mg precio mejores farmacias para comprar Viagra reacciones adversas de Cialis Reduslim cómo tomar soluciones para la impotencia Sildenafil Comprare Cialis 5 mg Giornaliero online in Italia Effetti indesiderati del Cialis 5 mg Acquista Cialis 20mg Cialis originale in vendita In Svizzera si compra il Viagra senza ricetta Cialis 10mg online Acquista Viagra in farmacia Offerta Cialis 5mg Spedra Avanafil in vendita online Acquista Viagra in Svizzera senza prescrizione авиатор спрайб Consegna a domicilio di Cialis 5 mg Effetti collaterali di Cialis 5 mg Consegna a domicilio di Cialis 20mg Acquista Cialis originale generico in Svizzera Consegna a domicilio di Viagra senza ricetta in Svizzera Compra Cialis 10mg Consegna a domicilio di Viagra in farmacia online Sconto Cialis 5mg Comprar Reduslim por internet Comprare Spedra Avanafil senza ricetta online Dove comprare il Viagra in Svizzera Compra Cialis Comprar online Viagra Contrareembolso Dónde encontrar Cialis 5 mg al mejor precio Viagra sin receta Cialis 5 mg efectos secundarios graves Reduslim comprar en línea Disfuncion Erectil tadalafilo avanafil prezzo cialis 20 mg prezzo cialis effetti benefici cialis 10 mg Reduslim Kaufen pulse x coin price