Существует ли база данных сопоставлений пользовательского агента и бренда браузера?

В моем приложении я хотел бы сохранить последний использованный браузер пользователя, чтобы не тратить много времени на телефон с пользователями, пытающимися выяснить, используют ли они IE7 или IE8. Хранение строки пользовательского агента, вероятно, было бы для меня вполне подходящим, однако, если возможно, я хотел бы хранить и отображать только название бренда и версию, то есть что-то читаемое для «нормальных» людей, таких как «Mozilla Firefox 3.6».

Итак, мой вопрос: существует ли какая-то база данных, которая собирает строки агента пользователя и сопоставляет их с торговыми марками и предоставляет данные как нечто, что я мог бы использовать в разработке? Если нет, знаете ли вы какое-либо зрелое программное обеспечение, которое анализирует строку пользовательского агента и возвращает название бренда?


person Nikolai Prokoschenko    schedule 04.08.2011    source источник
comment
Этот вопрос может вам помочь: stackoverflow .com/questions/1457380/   -  person Danny Croft    schedule 04.08.2011


Ответы (1)


Название бренда и версия могут быть легко извлечены из строки пользовательского агента с помощью регулярного выражения или простого поиска по строке.

Вот пример регулярного выражения для определения браузера и версии. Возможно, вы захотите сопоставить «MSIE» с «Internet Explorer» или что-то в этом роде.

(MSIE|Firefox|Chrome)(\s|\/)(\d{1,3}\.\d)

Но в противном случае вы можете найти список, подобный этот используемый для "плагина переключателя пользовательского агента" в FireFox или этот список только в мобильных браузерах. Первая ссылка дает описание, подходящее почти для всех пользовательских агентов/просмотров.

person Ragnar    schedule 04.08.2011