2016-09-24 5 views
2

Вот классический условный комментарий целевой Internet Explorer 9+ и все не-IE браузеры:JavaScript условные комментарии для IE

<!--[if gt IE 8]><!--> 
    IE 9+ and all non-IE browsers see this text. 
<!--<![endif]--> 

Какова цель каждого из 4-х частей?

<!--[if gt IE 8]> 
<!--> 
<!-- 
<![endif]--> 

ответ

2

Это HTML-комментарии с условными операторами и операторами. Позвольте мне разбить его:

<!--[if gt IE 8]><!--> 

gt здесь означает «больше, и IE означает Интернет разведанные и версию прямо позади. Это:

<!--<![endif]--> 

Средство для завершения условного утверждения. Этот конкретный синтаксис отличается от синтаксиса регулярного совместимого HTML:

<!--[if condition]>--> 
    Stuff here 
<!--<![endif]--> 

из-за следующую причиной, из SitePoint:

IE7 и более поздние версии браузеров также выявят -–> после открытия условного оператора. Исправление, предлагаемое Microsoft, заключается в добавлении дополнительного <! сразу после условного комментария открытия.

Это означает, что --> после <!--[if condition]> является переводчиком браузерами IE 7+. Представленные вами комментарии используются для борьбы с этим. Подробнее об условных комментариях at Microsoft's MSDN.

1

Если браузер запутаться о том, как разобрать если, то это выглядит как обычный старый HTML комментарий:

<!-- [if gt IE 8]><! --> 

и так делает это:

<!-- <![endif] --> 
Смежные вопросы