Можно ли определить * тип мобильного устройства * с помощью JavaScript или заголовков HTTP? - PullRequest
2 голосов
/ 01 октября 2008

У меня есть запрос от клиента на автоматическое определение типа мобильного устройства (не браузера, типа. Например: Moto Q, Blackjack II и т. Д.) И автоматического выбора устройства из раскрывающегося списка с помощью список поддерживаемых устройств.

До сих пор я обнаружил, что заголовки HTTP (представленные мобильным IE) содержат такую ​​информацию, как

  • Разрешение
  • UA-CPU (я видел ARM от WM 2003 и x86 от WM5)
  • Пользовательский агент (в основном это просто Windows CE)

Единственное, о чем я могу подумать сейчас, это, возможно, использовать комбинацию разрешения / процессора и сделать «лучшее предположение»

Есть мысли?

Ответы [ 3 ]

4 голосов
/ 01 октября 2008

Возможно, вы захотите взглянуть на WURFL здесь: http://wurfl.sourceforge.net/.

С сайта:

Итак ... Что такое WURFL? WURFL - это файл конфигурации XML, который содержит информацию о возможностях и возможностях многих мобильных устройств.

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

2 голосов
/ 01 октября 2008

Что именно клиент подразумевает под «поддерживаемым». Конечно, это означает, что данный телефон поддерживает веб-приложение и его внутреннюю функциональность - не лучше ли забыть об обнаружении устройства и просто сосредоточиться на обнаружении тех возможностей, которые необходимы для правильной работы приложения? Например, если моему мобильному веб-сайту требуется Ajax для работы, вместо того чтобы перечислять все устройства, которые, как говорят, «поддерживают Ajax», я мог бы сделать несколько простых обнаружений объектов, чтобы выяснить это для себя.

Обнаружение устройства, как и обнаружение браузера, ненадежно. Да, это возможно, но я бы не советовал ... в проекте, который я сделал, мы использовали строку User Agent для обнаружения различных устройств. Метод indexOf javaScript пригодился! :)

0 голосов
/ 02 марта 2010

Еще одним быстрым и простым решением является Apache Mobile Filter: http://www.apachemobilefilter.org

...