Проблемы с веб-разработкой на телефоне с Windows 7

Я разработал веб-сайт, который использует медиа-запросы для поддержки мобильных устройств, но Windows Mobile 7, похоже, не затронут. Я знаю, что IE не поддерживает медиа-запросы, поэтому я думаю, что и в WinMob то же самое. Есть ли способ загрузить другую страницу на этот телефон??


person ingh.am    schedule 21.03.2011    source источник


Ответы (2)


Просто получите пользовательский агент и проверьте, если это Windows Phone 7 (это фокус Samsung):

Mozilla/4.0 (compatible: MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; SAMSUNG; SGH-i917)

Потом редирект на другую страницу.

person Martin    schedule 21.03.2011
comment
Ах ОК Спасибо. Я думаю, что тогда я тоже могу загрузить свой CSS-файл на основе медиа-запроса. Попробую завтра! - person ingh.am; 22.03.2011
comment
Это отличный способ. Я также обнаружил, что это намного лучший способ определить, является ли браузер IE, а не кажущийся ошибочным ‹!--[If IE]--›! - person ingh.am; 22.03.2011

Ты можешь использовать

<!--[IEMobile]>  
<meta name="MobileOptimized" content="width" /> 
<link rel="stylesheet" type="text/css" href="ie-mobile.css"/>
<![endif]-->

Но еще лучше было бы настроить для мобильных устройств, увидеть отсутствие Media Queries как Media Query, так сказать. И используйте:

<!--[if (lte IE 8)&!(IEMobile)]>   <html lang="en" class="ieLte8"> <![endif]-->

Так что вы можете использовать селектор: .ieLte8, чтобы сделать то же самое, что и для средних дисплеев через Media Queries.

person snobojohan    schedule 27.03.2011
comment
Я обнаружил, что весь сбор операторов if IE в ‹!--[]--› не является последовательным, а сбор пользовательского агента в php намного надежнее!! - person ingh.am; 28.03.2011
comment
Истинный. Использование if IE только иногда работало для меня. Не могу вспомнить, какую версию IE я использовал, но она была не очень последовательной. - person ingh.am; 08.06.2011