То, что вы пытаетесь сделать в общем случае, чрезвычайно сложно.Проблема не в обнаружении браузера.Браузер может быть обнаружен с помощью любого из методов, указанных выше.Но получить ширину и размеры экранов и реальные возможности поддержки HTML гораздо сложнее.
Существует проект с открытым исходным кодом, называемый WFURL , который поддерживает базу данных всех поддерживаемых устройств и ихвозможности интеграции и могут быть использованы.
Что мы делаем, так это используем фреймворк, такой как JQuery Mobile , который автоматически дает похожий внешний вид в различных телефонах.Однако этот фреймворк все еще очень сырой.
Способ, которым большинство сайтов, таких как Mercedes Benz, ebay, mtv india, google и т. Д., Делают это, используя что-то вроде [NetBiscuits] (http://www.netbiscuits.com/) для разработки своих мобильных сайтов.Таким образом, они пишут код один раз (хотя и на BiscuitML), а NetBiscuits выполняет работу по обнаружению мобильного устройства и оптимизации сайта. Например, ознакомьтесь с этой ссылкой клиентов, использующих NetBiscuits.
NetBiscuitsвозможно, это не единственная инфраструктура, которая делает это (я знаю, что IBM предоставляет решение в качестве части своего веб-портала), однако это самая популярная из известных мне систем.