Четыре малоизвестных факта о conditional comments (условных комментариях) в Internet Explorer

Во-первых, при помощи условных комментарие в IE можно определять не только версию IE. Например, можно узнать есть ли поддержка VML. Подозреваю, что эту поддержку из Internet Explorer когда-то удалят, так как сейчас удаляют expression. Так что проверять поддержку VML, правильнее так:

<!--[if VML]> Код VML <![endif]-->

Во-вторых, начиная с Windows 7, в браузере условными комментариями можно проверить версию операционной системы, так же как это делается с версией браузера, константы для проверки перечислены в таблице на сайте «Микрософт».

Можно, например, проверить запущен ли браузер на Windows 7. «Семёрка» и Vista вообще сильно отличаются по возможностям по XP, так что это иногда может быть полезно. Например, в Vista/7 поддерживается TLS SNI или аппаратное 2D-ускорение в Internet Explorer 9.

<!--[if WindowsEdition]> Это Windows 7 или старше <![endif] -->

В-третьих, если вы автор какого-то плагина, можно добавить возможность проверки версии плагина и его наличия в условные комментарии. Для этого нужно поместить его версию и название в ветку реестра HKEY_LOCAL_MACHINE → Software → Microsoft → Internet Explorer → Version Vector → MyPlugin = 0.5.

<!--[if gte MyPlugn 1.2]> Мой плагин версии 1.2 и выше <![endif] -->

Этот же способ позволяет изменить версию IE для проверки в conditional comments на любую — достаточно исправить значение «IE» в указанной ветки реестра и перезапустить браузер.

В-четвёртых, удивительно, но не все знают, что в conditional comments доступны операторы «И», «ИЛИ» и группировка. Что полезно, чаще всего, для указания диапазона версий браузера.

<!--[if (IE 7) | (WindowsEdition)]> Это IE7 или любой IE на Windows 7 и выше <![endif] -->
<!--[if (gte IE 6) & (lt IE 9)]> Это IE6-8 <![endif] -->
Поделиться
Отправить
Популярное