Обнаружение мобильных браузеров в Интернете?

Мне любопытно узнать, как проверить наличие 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.

Вы получите информацию как:

  1. Размер экрана
  2. Уровень поддержки XHTML/HTML
  3. Поддержка графического типа

Многие другие.

Существуют 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 - причудливый термин для имени браузера

Другие вопросы по тегам