Обнаружение мобильных браузеров в Интернете? - PullRequest
4 голосов
/ 03 сентября 2010

Мне интересно узнать, как проверить наличие iPhone, iPad и других мобильных браузеров. (JavaScript или CSS)

Редактировать:

Не строка пользовательского агента, пожалуйста.Это может быть подделано.

Возможные дуплексы:

Ответы [ 4 ]

7 голосов
/ 03 сентября 2010

Я бы использовал WURFL .Это xml-база данных с открытым исходным кодом, содержащая более 10000 мобильных устройств, которые будут обнаруживать (почти всегда) возможности вашего мобильного телефона и браузера по значению заголовка HTTP user-agent.

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

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

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

Существуют API-интерфейсы для популярных языков, таких как PHP, Java и .NET, поэтому вам не придется самостоятельно разбираться с базой данных XML.

2 голосов
/ 03 сентября 2010

В основном вы проверяете строку User Agent

см. http://www.hand -interactive.com / resources / detect-mobile-javascript.htm

Обнаружение iPhone:

navigator.userAgent.toLowerCase().search("iphone") > -1

В общем, обнаружение функций лучше, чем обнаружение браузера, лучше знать, что может сделать браузер пользователя, чем то, что он использует. Модернизатор - хороший инструмент для этого.

1 голос
/ 22 сентября 2012

Используйте Модернизр - http://modernizr.com/

Modernizr - это JS-скрипт, который проверяет браузер на различные возможности HTML5 и CSS3 при загрузке страницы. Вы можете посмотреть в объекте Modernizr JS или использовать классы, которые он добавляет к элементу HTML. Если присутствует класс «touch», у вас есть устройство с сенсорным экраном; в противном случае класс не касается. Тогда вы можете сделать это в своем CSS

.touch .myElement { /* touch device styles */ }

.no-touch .myElement { /* regular browser styles */ }

Тестирование возможностей браузеров гораздо полезнее и перспективнее, чем прослушивание для пользовательских агентов. Таким образом, для каждой функции CSS3, которую вы хотите добавить, вы можете легко написать запасной вариант, как я покажу здесь.

0 голосов
/ 03 сентября 2010

Используйте JavaScript для обнаружения HTTP User Agent - причудливый термин для имени браузера

...