О прекращении поддержки CSS-выражений в Internet Explorer 8
Стоит сказать, что дизайн новых и уже имеющихся функций Internet Explorer обусловлен основными критериями дизайна, среди которых соответствие стандартам, производительность, надежность и безопасность. В результате CSS-выражения более не поддерживаются в режиме стандартов в IE8. Об этом изменении уже сообщалось в блоге IE8, однако, в данной статье мы раскроем дополнительные подробности о нашем решении.
Нижеприведенная сессия вопросов и ответов позволит вам понять причины этого решения и возможное влияние, которое может оказать это изменение на ваш сайт.
Что такое CSS-выражения?
Также известные как динамические свойства (в оригинале "dynamic properties"), эти проприетарные CSS-расширения впервые были представлены в Internet Explorer 5. Задолго до появления таких JS-библиотек, как jQuery или Dojo, эти выражения позволяли разработчикам динамически прикреплять к странице скрипты с помощью CSS-селекторов. Так, к примеру, следующий CSS-селектор декларирует обновление фонового цвета определенных блоков страницы в зависимости от времени суток:
div.title { background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" ); }
Почему мы отказались от поддержки выражений?
Для соответствия стандартам:
- Выражения являются проприетарными для Internet Explorer, и, как следствие, не являются не могут быть использованы в других продуктах
- Чаще всего выражения использовались, чтобы исправить ошибки IE или эмулировать те функции CSS 2.1, которые еще не поддерживались браузером, например, min-width и max-width. Мы не просто исправили большинство этих ошибок в IE8 - теперь наш движок визуализации страниц имеет встроенную поддержку этих функций.
Для улучшения производительности:
- Использование выражений требует довольно-таки продолжительного времени исполнения. Эксперты по производительности сайтов, в частности Стив Саудерс (Steve Souders), советуют избегать их использования для улучшения производительности браузера.
Для сокращения поверхности для атаки:
- Так как выражения подразумевают исполнение скриптов, CSS-выражения создают вектор атаки с возможностью инъекции скрипта.
Доступны ли выражения в IE7 и режиме квирков?
Да. Для обратной совместимости CSS-выражения все еще исполняются в режиме Quirks и IE7. Но начиная с IE8 Beta 2, они игнорируются в режиме стандартов IE8.
Страницы на моем сайте используют CSS-выражения. Каким образом скажется на мне отказ от их использования?
Благодаря новому движку визуализации страниц большинство выражений, созданных для решения проблем с отсутствующими функциями CSS 2.1, попросту более не нужны. Мы ожидаем, что неподдерживаемые или неправильно интерпретируемые свойства будут интерпретированы в правильном режиме. Для выражений, используемых для более специфических задач, по сути, можно использовать обычный JavaScript, требующий меньших временных затрат для исполнения. Конечно же, специфика зависит от вашего приложения.
Прекращение поддержки выражений - функции, часто используемой для исправления наиболее часто встречающихся проблем, над решением которых мы много работали в данном релизе, - поможет сделать IE8 более совместимым со стандартами, более быстрым и безопасным для наших пользователей.
Сильвейн Галиньо (Sylvain Galineau),
программный менеджер Internet Explorer
Источник:
Перевод: Zloy Kak Pё$
Комментарии
Последний абзац: "...над решением которых мы много работали мы в данном релизе..."
По теме
- Microsoft готовит экстренный патч для уязвимости нулевого дня в Internet Explorer
- С Anniversary Update некоторые изменения коснутся и Internet Explorer
- NetMarketShare: Chrome обогнал IE и стал самым популярным десктопным браузером
- Обновлено: 12 января прекратится поддержка браузеров Internet Explorer устаревших для конкретной версии Windows
- C 12 января 2016 года прекращается поддержка устаревших версий IE
- В IE от Windows Vista до Windows 10 найдена серьезная уязвимость
- Internet Explorer вместе с Яндекс и Google признан экстремистским
- Вышло исправление критической уязвимости для IE с 7 по 11 версию
- HP ZDI опубликовала информацию о четырех новых уязвимостях в IE
- Microsoft отказывается устранять очередную уязвимость в IE