CSS для Windows Phone 7 - PullRequest
       2

CSS для Windows Phone 7

6 голосов
/ 09 января 2012

Я пытаюсь добавить файл .css, предназначенный для Windows Mobile, и, поскольку media="handheld" ничего не делает для этого устройства, я следовал инструкциям официального сайта Windows Phone , что в сумме составляет это:

<!--[if IEMobile 7]>
<p>Welcome to Internet Explorer Mobile.</p>
<![endif]-->
<![if !IEMobile 7]>
<p>All other browsers</p>
<![endif]>

Проблема

Как и ожидалось, в Firefox и настольной версии Internet Explorer это отображает то, что должно: «Все другие браузеры».

К сожалению, мой Windows Phone 7 также отображает «Все остальные браузеры» . Я пробовал с и без "7" в условном комментарии, тот же результат.

В моем .html больше нет ничего, что могло бы вызвать проблемы, потому что я проверяю это:

<html>
    <body>
        <p>Does work</p>
        <!--[if IEMobile 7]>
            <p>Welcome to Internet Explorer Mobile.</p>
        <![endif]-->
        <![if !IEMobile 7]>
            <p>All other browsers</p>
        <![endif]>
    </body>
</html>

Онлайн-версия временно здесь .

Я скопировал вставленный код с официального сайта, и в моих настройках Internet Explorer на WP7 в качестве предпочтительной версии указана мобильная версия. У меня также есть это Манго обновление.

В статье perishablepress.com , которую я читал, указание media="Screen" (с заглавной буквы S) в обычном, не переносимом объявлении таблицы стилей заставит WP7 использовать объявление media="handheld", однако это не сработало для меня.


Вопрос

У кого-нибудь есть опыт работы с WP7 с помощью .css? Если да, каково ваше решение?

Имейте в виду, что я действительно ищу, как заставить WP7 выбрать мобильную версию .css, а не как решить проблему условных комментариев. Спасибо за ваше время!

Редактировать

Я добавил javascript ( спасибо w3schools.com ), чтобы запросить информацию браузера (с помощью «навигатора»), вот что я получаю для своего устройства (Samsung Omnia, кстати):

Does work
All other browsers
Browser CodeName: Mozilla
Browser Name: Microsoft Internet Explorer
Browser Version: 5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; OMNIA7)
Cookies Enabled: true
Platform: Win32
User-agent header: Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; SAMSUNG; OMNIA7)

Ответы [ 2 ]

10 голосов
/ 09 января 2012

Манго работает с IE9, а не с IE7.Ваш чек говорит, if not IEMobile 7, display 'All other browsers'.Поскольку браузер IE9, отображается All other browsers.

Редактировать - вы можете попробовать использовать Javascript для его обнаружения.Я адаптировал этот код из здесь .

browserUA = navigator.userAgent.toLowerCase();
if (browserUA.search('windows phone os 7') > -1)
   //windows phone therefore load WP CSS file
else
   //it's some other browser

Конечно, пользовательские агенты могут быть легко изменены, поэтому не используйте этот метод по соображениям безопасности.Однако для обнаружения Windows Phone это должно работать.

0 голосов
/ 16 февраля 2012

Вы используете Mango (Windows Phone 7.5), а не Windows Phone 7, поэтому проверка IE Mobile 7 не будет работать для телефона Mango.Я считаю, что статья на сайте Windows Phone была написана до Mango, и они более конкретны, чем должны быть.

Вы должны просто проверить IEMobile, а не IEMobile 7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...