Прокрутить к контенту ↓


Internet Explorer 9 (IE9)

Internet Explorer 9 (IE9) — новая версия интернет-браузера Microsoft. Предыдущие версии IE (особенно 6 и 7) отличались «своеобразием» и слабой поддержкой стандартов и возможностей, широко и давно поддерживаемых в других браузерах. Как и IE8, IE9 является значительным шагом вперёд.

К сожалению, IE9 не работает в Windows XP. Таким образом, IE8 — увы, наш новый IE6. С другой стороны, Microsoft по сути добровольно подарила другим — более качественным — браузерам значительную часть рынка (согласно статистике, в России Windows XP используют более 50% пользователей), и велика вероятность, что пользователь, привыкший к отличному от IE браузеру (например, Firefox 4, прекрасно работающему под Windows XP), продолжит использовать привычный браузер даже перейдя на современную версию Windows, и это хорошо.

К сожалению, как и в случае с IE8, Microsoft поспешила выпустить IE9, чтобы, видимо, снова слегка опередить главного конкурента — Firefox, выход наиболее современной и выдающейся — 4-й — версии которого также ожидается в самое ближайшее время. В результате IE9 содержит ряд недоработок, исправить которые в действительности труда не составило бы (например, не поддерживается HTML5-атрибут maxlength у элемента textarea).

Ниже — обзор (в основном технического характера) некоторых из новых возможностей IE9, замеченных автором этих строк. Следует заметить, подавляющее их большинство давно реализовано в других браузерах. С другой стороны, отставание IE существенно сократилось, и это не может не радовать.

HTML

Хорошо:

  • поддержка HTML5-элементов canvas, audio и video;
  • пробельные символы теперь не съедаются и не «схлопываются»;
  • поддержка воспроизведения видео в открытом формате WebM. В отличие от Firefox 4, Opera 10.6+ и Chrome, поддержка WebM в IE9 во многом чисто номинальная, поскольку для этого необходимо, чтобы в системе был установлен соответствующий декодер, а это в общем случае маловероятно;
  • поддержка векторного графического формата SVG, в том числе прямое включение SVG-кода в HTML-документ.

Плохо:

  • не поддерживаются HTML5-атрибуты maxlength, placeholder, required у элементов форм и проч. В Firefox 4 поддержка есть;
  • в элементе audio поддерживается только формат MP3. Открытый Ogg Vorbis (поддерживаемый, например, в Firefox), в IE9 не поддерживается;
  • не поддерживается WebGL — программный интерфейс для отображения трёхмерной графики в окне браузера. В Firefox 4 поддержка есть.

CSS

  • Более полная поддержка CSS3-селекторов (:last-child, :nth-child, :not, :target и проч.);
  • border-radius — закругление углов элементов без применения графики;
  • box-shadow — создание теней у элементов;
  • opacity — управление прозрачностью элемента;
  • нормальная (в отличие от IE8) поддержка rgba(), позволяющего задать цвет с полупрозрачностью;
  • возможность задать несколько фоновых изображений для одного элемента, поддерживаемая отныне современными версиями всех основных браузеров: Firefox, Opera, Chrome, Safari, IE;
  • поддерживается применение стилей к произвольным (в том числе не предусмотренным по текущему стандарту) элементам без необходимости прибегать к JavaScript-ухищрениям типа HTML5 shiv;
  • поддержка открытого формата шрифтов WOFF;
  • поддержка CSS Media Queries — возможности задать различные стили в зависимости от размеров доступной области отображения страницы (например, окна браузера);
  • поддержка CSS-функции calc(), позволяющей задать численные значения CSS-свойств в смешанных единицах. Например, width: calc(100% - 200px). Без этой возможности аналогичного эффекта можно было достигнуть только двумя вложенными элементами в сочетании с использованием отрицательных полей. В Firefox 4 аналогичная функция называется -moz-calc();
  • Data URI: снято имевшее место в IE8 нелепое ограничение в 32 КБ для размера каждого из встраиваемых в CSS изображений.

JavaScript

  • Добавлены стандартные свойства-константы DOM-элемента (ELEMENT_NODE, TEXT_NODE и проч.), которые можно использовать вместо численных значений при определении типа узла (Node.nodeType);
  • поддержка метода getElementsByClassName() для быстрого получения элементов по названию класса;
  • поддержка стандартного, кроссбраузерного метода назначения обработчиков addEventListener();
  • поддержка метода msMatchesSelector() для проверки соответствия элемента заданному CSS-селектору. В Firefox аналогичный метод называется mozMatchesSelector();
  • поддержка свойства textContent DOM-узла, позволяющего быстро получить или задать его текстовое содержимое;
  • поддержка стандартного, кроссбраузерного метода getComputedStyle() для получения текущих вычисленных значений CSS-свойств;
  • поддержка новых методов ECMAScript 5: например, Array.forEach(), Array.isArray() и String.trim();
  • поддержка интерфейса Selection, позволяющего манипулировать выделенным на странице текстом и включающего знакомые по другим браузерам методы getSelection(), selectionStart() и selectionEnd();
  • поддержка события DOMContentLoaded объекта document. В отличие от события load объекта window, событие DOMContentLoaded вызывается сразу после окончания разбора кода страницы — без ожидания загрузки изображений и прочих внедрённых на страницу ресурсов. Это удобно для назначения JavaScript-обработчиков в так называемом ненавязчивом (unobtrusive) стиле — когда JavaScript-код не интегрирован в страницу жёстко, а является дополнительным «слоем», расширяющем функциональные возможности веб-приложения. При этом минимизируется вероятность, что пользователь успеет воспользоваться элементом до того, как будет назначен обработчик. Впервые поддержка события DOMContentLoaded была внедрена в Mozilla 1.0, затем оно получило поддержку в других браузерах, а в настоящее время является частью спецификации HTML5.

Баги

Приятно заметить, что ваш покорный слуга лично внёс посильный вклад в разработку Internet Explorer 9 путём отправки и комментирования баг-репортов, часть которых впоследствии была исправлена.

Исправлено (для просмотра баг-репортов необходима авторизация на сервере connect.microsoft.com):

Не исправлено:

Установка

В отличие от IE8, русская версия IE9 без проблем устанавливается на англоязычную Windows 7. Пользователю это удобнее, чем раздельная установка браузера и языкового пакета к нему.