Скрытие HTML-элемента электронной почты в Windows Mobile 7.8

Я пытаюсь найти условный комментарий или способ скрыть HTML-блок в электронном письме в формате HTML на Windows Mobile 7.8. Я провел ряд тестов с Windows Mobile 7.8 и iPhone 7, пытаясь найти тот, который будет отображаться на iPhone, но не на Windows Phone. Я нашел много документации по сокрытию в Windows Mobile 7.5, но ничего для 7.8.

Результаты моего теста ниже, но они еще не решены.


20 тестов условного комментирования для Windows Mobile 7.8 и iPhone 7.

  • Н = не отображается
  • Y = отображается
  • Разрешение = Н | Д

Тест # – Windows | iPhone – попытка

    <br>T1 - N | N - <!--[if IEMobile]><p>This is IEMobile</p> <[endif]-->  
    <br>T2 - Y | Y - <[if !IEMobile]> All other browsers but on Windows Phone 7.<![endif]>
    <br>T3 - N | N - <!--[if IE]><p>You are using Internet Explorer.</p><![endif]-->
    <br>T4 - Y | Y - <![if !IE]><p>You are not using Internet Explorer.</p><![endif]>
    <br>T5 - N | N - <!--[if IE 7]><p>Welcome to Internet Explorer 7!</p><![endif]-->
    <br>T6 - N | N - <!--[if !(IE 7)]><p>You are not using version 7.</p><![endif]-->
    <br>T7 - N | N - <!--[if gte IE 7]><p>You are using IE 7 or greater.</p><![endif]-->
    <br>T8 - N | N - <!--[if (IE 5)]><p>You are using IE 5 (any version).</p><![endif]-->
    <br>T9 - N | N - <!--[if (gte IE 5.5)&(lt IE 7)]><p>You are using IE 5.5 or IE 6.</p><![endif]-->
    <br>T10 - N | N - <!--[if lt IE 5.5]><p>Please upgrade your version of Internet Explorer.</p><![endif]-->
    <br>T11 - N | N - <!--[if true]>You are using an <em>uplevel</em> browser.<![endif]-->
    <br>T12 - Y | Y - <![if false]>You are using a <em>downlevel</em> browser.<![endif]>
    <br>T13 - N | N - <!--[if true]><![if IE 7]><p>This nested comment is displayed in IE 7.</p><![endif]><![endif]-->
    <br>T14 - N | N - <!--[if (lt IE 9)&(!IEMobile)]>If less than IE 9 and not IE Mobile<![endif]-->
    <br>T15 - Y | Y - <!--[if !IE]>If not IE<![endif]-->
    <br>T16 - Y | Y - <!--[if !lt IE 7]><![IGNORE[--><![IGNORE[]]>If not less than IE 7<!--<![endif]-->
    <br>T17 - N | N - <!--[if !lt IE 7]>If not less than IE 7<!--<![endif]-->
    <br>T18 - N | N - <!--[if IE]>If IE<![endif]-->
    <br>T19 - Y | Y - <!--[if !IE]>--><![IGNORE[--><![IGNORE[]]>If not IE<!--<![endif]-->
    <br>T20 - N | N - <!--[if IEMobile]>Only IE Mobile on Windows Phone 7<![endif]-->

person davidcondrey    schedule 24.12.2013    source источник


Ответы (2)


Как насчет:

<!--[!if IEMobile]><!-->
 // Show on everything except IE Mobile
<![endif]-->

Вот отличный справочник по условным операторам.

person John    schedule 26.12.2013
comment
Восклицательный знак перед «если»... это правильно или опечатка? - person davidcondrey; 27.12.2013
comment
@dcc Я знаю, что это странно, но оба способа работают, по крайней мере, для операторов if mso в Outlook. Дайте мне знать, как это происходит. - person John; 27.12.2013

Не ответ с точки зрения медиа-запроса, но я обнаружил, что элементы могут быть скрыты в Windows Mobile 7.8 аналогично тому, как элементы скрыты в Gmail.

@media only screen and (max-width:600px) {
    *[class="desktop"]{display:none !important;}
    *[class="mobile"]{display:block !important;width:auto !important;max-height:inherit !important;overflow:visible !important;float:none !important;}
    *[class="banner"]{width:100% !important;}
}
<!--[if !mso]>-->
    <td class="mobile" style="width:0;max-height:0;overflow:hidden;float:left;">
        <img alt="Placeholder" border="0" src="http://www.placehold.it/100x100" width="0" class="banner">
    </td>
<!--<![endif]-->

Изначально я скрывал этот блок от Gmail и Outlook. Условный комментарий относился к Outlook, а встроенный стиль для обнуления элемента работал, чтобы скрыть элемент в Gmail. Однако я установил ширину изображения на 100%, и в Windows Mobile это приводило к тому, что изображение расширяло ячейку и отображалось. Когда я изменил ширину на 0 и добавил еще один класс CSS, чтобы расширить ее до 100%, это сработало.

Сначала я попытался повторно использовать свой широкий класс .mobile в теге изображения, но это не сработало, потому что это привело к тому, что изображение отображалось на 100% от его размера, когда я хотел, чтобы вместо этого оно отображалось на 100% от размера контейнеров.

person davidcondrey    schedule 25.12.2013