Обнаружение мобильных браузеров в Интернете?
Мне любопытно узнать, как проверить наличие iPhone, iPad и других мобильных браузеров.(JavaScript или CSS)
Редактировать:
Не строка агента пользователя, пожалуйста. Это может быть подделано.
Возможные Dupes:
4 ответа
В основном вы проверяете строку User Agent
см. http://www.hand-interactive.com/resources/detect-mobile-javascript.htm
Определить iPhone:
navigator.userAgent.toLowerCase().search("iphone") > -1
В целом обнаружение функций лучше, чем обнаружение браузера, лучше знать, что может сделать браузер пользователя, чем то, что он использует. Модернизатор - хороший инструмент для этого.
Я бы использовал WURFL. Это xml-база данных с открытым исходным кодом, содержащая более 10000 мобильных устройств, которые будут обнаруживать (почти всегда) возможности вашего мобильного телефона и браузера, учитывая user-agent
Значение заголовка HTTP.
Вы получите информацию как:
- Размер экрана
- Уровень поддержки XHTML/HTML
- Поддержка графического типа
Многие другие.
Существуют API-интерфейсы для популярных языков, таких как PHP, Java и.NET, поэтому вам не придется работать с базой данных XML самостоятельно.
Используйте Modernizr - http://modernizr.com/
Modernizr - это JS-скрипт, который проверяет браузер на различные возможности HTML5 и CSS3 при загрузке страницы. Вы можете посмотреть в объекте Modernizr JS или использовать классы, которые он добавляет к элементу HTML. Если присутствует класс "touch", у вас есть устройство с сенсорным экраном; в противном случае класс не касается. Тогда вы можете сделать это в своем CSS
.touch .myElement { /* touch device styles */ }
.no-touch .myElement { /* regular browser styles */ }
Тестирование возможностей браузеров гораздо полезнее и перспективнее, чем прослушивание пользовательских агентов. Таким образом, для каждой функции CSS3, которую вы хотите добавить, вы можете легко написать запасной вариант, как я покажу здесь.
Используйте JavaScript, чтобы обнаружить HTTP User Agent - причудливый термин для имени браузера