Очень часто вебмастеры сталкиваются с необходимостью адаптировать дизайн и функциональность своего сайта для просмотра на мобильных устройствах. И если ранее было достаточно проверить один из HTTP заголовков (User-agent) для того, чтобы узнать, что человек заходит с мобильного телефона, то на сегодняшний день существует множество устройств с доступом в интернет, функциональность которых сильно отличается. Это мобильные телефоны, смартфоны различных ОС, планшетные компьютеры на платформах Windows CE, Android, Apple iOS, Windows 8 (список чрезвычайно большой), телевизоры Smart-TV и прочие. И вот, как раз, с задачей точно определить тип устройства, производителя (марку), операционную систему, версию прошивки, программное обеспечение, — прекрасно справляется PHP-класс под названием MobileDetect.
Сайт проекта: http://mobiledetect.net/. Демо: http://demo.mobiledetect.net/. Скачать PHP-класс MobileDetect: https://github.com/serbanghita/Mobile-Detect/.
Как подключить скрипт на сайт
Для того, чтобы заставить класс MobileDetect работать на Вас, достаточно сделать две вещи:
1. Распаковать файл Mobile_Detect.php на сервер;
2. Подключить php файл Mobile_Detect.php с помощью директивы require_once и инициализировать экземпляр класса;
3. Использовать переменные класса для определения типа устройства, марки, версии прошивки, браузера и т.п.
Каждый из этих этапов заключен в примере ниже. Читайте комменты в скрипте для подробной информации.
require_once('путь_к_файлу_на_сервере/Mobile_Detect.php'); // Подключаем скрипт Mobile_Detect.php $detect = new Mobile_Detect; // Инициализируем копию класса // Любое мобильное устройство (телефоны или планшеты). if ( $detect->isMobile() ) { } // Планшетные компьютеры if( $detect->isTablet() ){ } // Исключаем планшеты if( $detect->isMobile() && !$detect->isTablet() ){ } // Выбираем специфические платформы if( $detect->isiOS() ){ } if( $detect->isAndroidOS() ){ } // Альтернативный метод is() для проверки определенных параметров (БЕТА) $detect->is('Chrome') $detect->is('iOS') $detect->is('UC Browser') // Выборка устройств, отвечающих определенным условиям, используя setUserAgent(): $userAgents = array( 'Mozilla/5.0 (Linux; Android 4.0.4; Desire HD Build/IMM76D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19', 'BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103', // и т.д. ); foreach($userAgents as $userAgent){ $detect->setUserAgent($userAgent); $isMobile = $detect->isMobile(); $isTablet = $detect->isTablet(); } // Получаем версии компонентов устройства (БЕТА) $detect->version('iPad'); // 4.3 (float) $detect->version('iPhone') // 3.1 (float) $detect->version('Android'); // 2.1 (float) $detect->version('Opera Mini'); // 5.0 (float) // и т.д.
Вот так, друзья! Скажу напоследок, что уж очень удобная штука: за Вас хорошо постарались разработчики этого небольшого, но полезного класса Mobile_Detect. С помощью этой библиотеки Вы можете настроить отображение своего сайта с изысканной точностью! Если моя статья оказалась Вам полезной, просьба ставить лайки, а так же обращать внимание на сайты наших рекламодателей!