Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

В IE10 не будет попадать под conditional comments

«Микрософт» решила, что conditional comments не должны обнаруживать IE10. То есть, по идее, условия «[if IE]», «[if IE 10]», «[if IE gt 5]» работать не должны, а «[if IE lte 9]» по-прежнему будет работать.

Поведение изменено из-за того, что этот функционал несовместим с HTML5. Ну да, в спецификации на парсер эта возможность не описана, но стоит ли её убирать? Вот уж вряд ли. Она много лет спасала верстальщиков от самоубийства.

Because some features in earlier versions of IE aren’t compatible with HTML5 parsing, we’ve removed them from IE10 mode. Sites that rely on these legacy features will still work when running in legacy modes. This way, sites that work today will continue to work with IE10 even if the developers of the site don’t have the time to update them.

Причём «Микрософт» тут же признаётся, что парсер ни при чём:

This means conditional comments can still be used, but will only target older versions of IE.

Если часть условия conditional comments всё-таки будут срабатывать, то причём тут парсер HTML5? Условия, которые оставили совместимы с HTML5, а те, которые убрали — нет?

Скорее «Микрософт» этим шагом заявляет, что «мы так всё идеально поддерживаем, что нет нужды отделять IE от других браузеров». Может быть это и так. Но я был бы рад, если бы conditional comments появились в других браузерах, а не исчезли был из IE.

Помимо этого из IE10 исчезнут Element Behaviors и XML Data Islands.

Добавлено позднее: мы тут поговорили с Вадимом Макеевым, кажется, я ошибаюсь. В режимах эмуляции старых браузеров (вероятно в этот момент работает отдельный движок), conditional comments работают, в режиме IE10 — нет.

16 комментариев
twitter.com/thenameisbusy 2011

Интересно, они советовались с кем-нибудь из разработчиков (дискутировали)?

Причём [«Микрофост»] тут же признаётся

что парсер тут [не причём]

Artjom Kurapov (kurapov.name) 2011

Остаётся надеяться на User agent

Евгений Степанищев (bolknote.ru) 2011

Комментарий для http://twitter.com/thenameisbusy:

Интересно, они советовались с кем-нибудь из разработчиков (дискутировали)?

Есть стандарт, они ему следуют. Это ровно то, что от «Микрософта» требовали многие годы.

Vladimir Moskva (fulc.ru) 2011

Комментарий для Евгения Степанищева:

«ни при чем» :)

Евгений Степанищев (bolknote.ru) 2011

Комментарий для fulc.ru:

Ну уж нет, «ни при чём» :)

Но грамотность, похоже, у меня падает. Вот жеж блин.

LO 2011

Комментарий для Евгения Степанищева:

Тег <comment> в Опере не работает. Он был выпилен еще из IE9 в режиме стандартов.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для LO:

Хм. Правда не работает. В каких-то версиях работал.

agonych (agonych.livejournal.com) 2011

Ну по идее, если спецификация HTML5 закончена, то десятому просто нужно ее поддерживать, как это делают и другие броузеры. Не думаю, что там на столько криворукие прогеры, что не смогут реализовать то, что получилось у Сафари/Хорома, Оперы и Фокса, тем более что два из трех движков доступны опенс соурс. А в этом случае отказ от IF правильный, потому что в IF кладут костыли для IE6-8, которые 10-му не будут нужны. Хочется верить в хорошее :)

Евгений Степанищев (bolknote.ru) 2011

Комментарий для agonych.livejournal.com:

СС нужен не потому, что у кого-то какие-то теги не поддерживаются или что-то такое, а чтобы обходить несовершенство реализации CSS.

blogs.mail.ru/mail/oktogen/ 2011

Ух ты! А что уже 10 ИЕ есть?!
Я с 6-го прекратил его использование,
и наша контора прекратила поддержку этого ... нехорошего продукта жизнедеятельности уже года полтора как.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для http://blogs.mail.ru/mail/oktogen/:

Вышел Plafform Preview 2, то есть это даже ещё не альфа.

и наша контора прекратила поддержку этого… нехорошего продукта жизнедеятельности уже года полтора как.

Полностью одобряю, IE6 поддерживать не надо. Но точно надо поддерживать IE9.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для http://blogs.mail.ru/mail/oktogen/:

Вы, кстати, можете использовать вот такой OpenID: http://oktogen.id.mail.ru

SelenIT 2011

Комментарий для Евгения Степанищева:

Насколько я понял, никаких «частями», из новейшего движка IE10 кондкомы выпилили подчистую. Фразу про «but will only target older versions...» я понимаю как «вы можете использовать кондкомы в страничках, но реагировать на них будут только IE9 и ниже» (собственно, как и было). В т.ч., видимо, и IE10 в режимах эмуляции предшественников (которые уже традиционно включаются по meta X-UA-Compatible или через F12, причем логика переключения становится всё страньше и чудесатее — http://forum.htmlbook.ru/index.php?showtopic=24133%29​.

Большой драмы в уходе кондкомов в историю лично я не вижу — даже для 8-ки они уже редко востребованы, «убийство» в той же 8-ке экспрешнов было бОльшим ударом. Ведь даже у Оперы и Хрома случаются неочевидности в отображении CSS, которые приходится бороть не фильтрацией по браузерам, а тюнингом самой верстки — и, имхо, есть все основания надеяться, что IE10 будет как минимум не хуже...

Евгений Степанищев (bolknote.ru) 2011

Комментарий для SelenIT:

из новейшего движка IE10 кондкомы выпилили подчистую

У меня в посте это написано. Стоит только до конца дочитать и вы это найдёте.

Ведь даже у Оперы и Хрома случаются неочевидности в отображении CSS, которые приходится бороть не фильтрацией по браузерам, а тюнингом самой верстки — и, имхо, есть все основания надеяться, что IE10 будет как минимум не хуже…

Если CC были у всех, они помогли бы в этой борьбе.

Юзер 2013

Сейчас верстал сайт, гляжу на него кондом не действует, думаю что за нах очердной с осликом случился. Оказалось вон что. опять сиди ломай голову как его обходить — подругому пилять отображает.

Евгений Степанищев (bolknote.ru) 2013

Комментарий для Юзер:

Видимо, вы просто плохо сверстали. С современным IE проблем, как правило, не возникает.

Но если уж очень надо, пожалуйста:

http://bolknote.ru/all/4081