Распознавание Windows Phone 7.5
Так как Internet Explorer на Windows phone не распознаёт некоторые @media handheld и более современные условные конструкции типа max-width, то на уровне CSS управлять дизайном устройств под Windows Phone очень сложно. Но есть маленькая уловка. Можно подсмотреть имя агента. А в имени агента как раз и указывается, что это наш любимый Windows Phone. При чём указывается не просто сам по себе агент, а ещё и то в каком виде он хочет представиться серверу. В настройках Internet Explorer есть опции отображения: предпочитаемая версия. Их две: мобильная версия и полная версия.
Мобильная версия отдаёт: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Radar C110e)
Полная версия отдаёт: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)
На уровне сервера опознать мобильный Internet Explorer довольно легко. Но имеет ли смысл корректировать скрипты для того чтобы корректно выдавать мобильную версию страницы браузеру? Вопрос очень даже спорный. Я вот подумываю о том, чтобы сделать отдельный CSS-файл для Windows Phone и соответствующим образом генерировать страничку. Для меня это не сложно, но у меня есть небольшая политика касаемая серверных скриптов. Мне не нравится, что на уровне сервера принимается решение о дизайне страничек. Мне хочется чтобы браузеры сами решали этот вопрос, благо в CSS 3 есть масса подобных инструментов. Но Internet Explorer на Windows Phone игнорирует часть указаний и из-за этого затруднено создание более корректных интерфейсов.
Но, я думаю, что не стоит переопределять обе версии браузера. Если пользователь хочет видеть полную версию, то зачем ему мешать? По этому я буду переопределять CSS только если браузер подпишется как мобильное устройство. Для сервера будет всего одна условная конструкция, а для пользователя более приятный и оптимизированный под его цели интерфейс.
А как бы вы поступили в такой ситуации? Интересует даже не техническая, а дизайнерская и этическая сторона вопроса.
Тэги: программирование
Отредактировано:2020-09-25 20:34:14