Новые возможности Internet Explorer 8
Ускорители
Работа с Интернетом становится более интерактивной: в Internet Explorer 8 упрощено взаимодействие с содержимым веб-страниц. Ускорители представляют собой расширения браузера и обрабатывают содержимое веб-страниц, отправляя данные в выбранную пользователем службу. Службы выполняют с содержимым определенные действия (например, отправляют его по электронной почте или заносят в "Избранное") или предоставляют дополнительные сведения (находят на карте адрес, переводят текст и т. п.). Пользователи могут устанавливать и применять ускорители из контекстного меню браузера, повышая удобство своей работы.
Специальные возможности и ARIA
В ответ на повышение сложности пользовательского интерфейса в Интернете группа Web Accessibility Initiative определила план полнофункциональных интернет-приложений со специальными возможностями (ARIA), который позволяет авторам веб-сайтов определить доступ к настраиваемым элементам пользовательского интерфейса. В ARIA это реализуется путем определения набора HTML-атрибутов, соответствующих обычным элементам управления пользовательского интерфейса. В результате люди с ограниченными возможностями могут работать с веб-сайтами, используя широкие возможности взаимодействия. Возможности ARIA, предоставляемые через API-интерфейс Microsoft Active Accessibility в браузере Internet Explorer 8, позволяют легко обеспечить поддержку ARIA в дополнительных специальных возможностях, в которых уже используется интерфейс Microsoft Active Accessibility.
- Атрибут alt больше не отображается в качестве подсказки изображения при работе браузера в режиме IE8.Вместо этого отображается значение атрибута longDesc, если есть всплывающая подсказка; в противном случае отображается содержимое тега title. Атрибут alt по-прежнему используется в качестве имени Microsoft Active Accessibility, а атрибут title используется в качестве резервного имени только при отсутствии alt.
- Синтаксис атрибутов ARIA одинаков в режимах IE8 и IE7. Для более ранних выпусков Internet Explorer 8 требовался устаревший синтаксис свойств при установке атрибутов ARIA в режиме совместимости. Для обеспечения совместимости между браузерами следует всегда использовать синтаксис атрибутов WAI-ARIA для доступа к свойствам ARIA и их изменения, например object.setAttribute("aria-valuenow", newValue).
Улучшения компонентов ActiveX
В Internet Explorer 8 обеспечивается более эффективное управление установкой и отладкой Microsoft ActiveX.
- Управление ActiveX для каждого сайта - Почти половина всех элементов управления ActiveX, предназначенных для запуска только на одном сайте, не подразумевают какого-либо метода блокирования сайтов. Это означает, что большое число элементов управления по умолчанию не являются безопасными и могут использоваться на веб-сайтах злоумышленников. Во избежание этого в Internet Explorer 8 пользователь может задать выполнение элементов управления ActiveX в зависимости от сайта. Дополнительные сведения см. в разделе Элементы управления ActiveX для каждого сайта.
- Установка без прав администратора - Обычные пользователи (не имеющие прав администратора) могут устанавливать элементы управления ActiveX в своих профилях без предупреждений UAC или привлечения администратора. Если пользователь устанавливает вредоносный элемент ActiveX, поражается только профиль этого пользователя, а система остается в безопасности. Дополнительные сведения см. в разделе Установка элементов управления ActiveX без прав администратора.
- Ведение журнала ActiveX - Internet Explorer 8 может передавать отчеты об основных сбоях установки и создания экземпляров, например, когда из-за ограничений безопасности не удается правильно создать экземпляр элемента управления ActiveX. Ведение журнала ActiveX осуществляется так же, как и ведение журнала совместимости Internet Explorer с помощью пакета Internet Explorer Application Compatibility Toolkit. Дополнительные сведения см. в разделе Использование программы проверки совместимости с Internet Explorer.
Усовершенствования в AJAX
Платформа AJAX меняет способ создания веб-приложений. В Internet Explorer 8 предусмотрены новые функции объекта XMLHttpRequest, поддерживающего приложения AJAX.
- Навигация в AJAX - Клиентские запросы, не касающиеся обычной навигации веб-страниц, могут обновлять свойство hash, что обеспечивает правильную работу кнопки "Назад".
- События подключений - Если важна надежность данных, то приложения AJAX могут сохранять данные в локальной системе, если они отключены от сети. См. onoffline, ononline.
- Количество подключений к каждому серверу - По умолчанию в Internet Explorer 8 создается больше подключений к каждому узлу, чтобы избежать возможного увеличения времени загрузки страницы и поддержать параллельную работу в сценариях AJAX.
- Передача данных между документами - С помощью postMessage можно безопасно передавать данные между документами из разных доменов. Документы, получающие сообщения, прослушивают событие onmessage.
- Междоменные запросы (XDR) - Чтобы разработчики могли безопасно сочетать службы с различных веб-сайтов, объект XDomainRequest ограничивает передачу данных между недоверенными модулями веб-страницы. Браузер защищает пользователя от потенциальных угроз, обеспечивая широкие возможности взаимодействия между сайтами.
- Запросы времени ожидания - В Internet Explorer 8 появилась возможность указывать свойство timeout для серверных запросов.
- Очистка HTML - Можно легко удалять свойства событий и сценарии из фрагментов HTML при помощи window.toStaticHTML.
- Встроенная поддержка JSON - Теперь поддерживается сериализация и анализ объектов JSON (эти объекты широко используются в AJAX) непосредственно в Microsoft JScript. Используйте JSON.stringify для преобразования данных объектов в строки и JSON.parse для анализа текста в формате JSON. Также можно настроить выходные данные объекта путем реализации метода toJSON. Эти новые методы работают намного быстрее сценариев, и безопаснее, чем eval.
Соответствие CSS
Internet Explorer 8 наиболее полно обеспечивается совместимость с таблицами каскадных стилей (CSS), включая полную поддержку CSS уровня 2.1 и поддержку популярных функций CSS уровня 3.0.
Многие годы таблицы были основным способом размещения элементов на веб-страницах. В Windows Internet Explorer 8 теперь можно применять табличное форматирование к нетабличным элементам с помощью атрибута display. На практике таблицы CSS дают больше возможностей, чем HTML-разметка. Таблицы, созданные с помощью правил CSS, могут включать вложенные элементы и быть допустимыми, тогда как в таблицах, созданных с помощью HTML, контейнеры должны закрываться, чтобы избежать неожиданного вложения.
- Универсальный код ресурса для данных (URI) - Этот механизм позволяет разработчикам веб-страниц встраивать небольшие объекты непосредственно в код URI вместо того, чтобы использовать код URI для задания расположения, из которого следует извлечь данный объект. В первую очередь это удобно для небольших изображений (например, маркеров), которые используются в CSS-стилях или макете. См. data Protocol для примера.
- Скомпонованное содержимое - Авторы веб-страниц могут отображать содержимое, которое берется не из дерева документов:
- :before и :after - Используя также новое правило content, авторы могут описывать динамическое содержимое для отображения до и после большинства элементов.
- counter-reset и counter-increment - Автоматическая вставка порядковых номеров в документы.
- quotes - Удобная вставка зависимых от языка прямых или двойных кавычек.
- outline - Позволяет выделять элементы, не изменяя их размер. Это сокращенное свойство элементов outline-color, outline-style и outline-width.
- Печать - Добавлены следующие свойства:
- page-break-inside - Устранение необходимости вставлять разрывы страниц в полях элементов. При необходимости браузер Internet Explorer переместит элемент на следующую печатную страницу.
- widows и orphans - Количество строк в верхней и в нижней частях каждой печатной страницы.
- Дополнительные псевдоклассы - В Internet Explorer 8 поддерживаются следующие псевдоклассы:
- :lang(C) - Селекторы могут сопоставлять элементы на основе атрибута lang элемента или одного из его предков. Язык веб-страницы по умолчанию указывается в элементе html.
- :focus - Применяется, когда элемент получает фокус ввода.
- Атрибуты для конкретных браузеров - Свойства каскадных таблиц стилей (CSS), применяющиеся только к Internet Explorer, содержат в именах префикс -ms-, например -ms-writing-mode.
Средства для разработчиков
Встроенные средства разработчика Internet Explorer 8 позволяют работать с внутренними элементами веб-страниц для анализа и устранения проблем, касающихся HTML, каскадных таблиц стилей и сценариев. Некоторые функции и компоненты могут быть знакомы пользователям панели инструментов разработки, выпущенной в качестве надстройки для предыдущих версий браузера.
- Инструмент CSS - Отображает разные правила, определенные в таблицах стилей, загруженных веб-страницей.
- Отладка сценариев - Встроенный упрощенный отладчик позволяет устанавливать точки останова и пошагово выполнять клиентский сценарий, не выходя из Internet Explorer.
- Профили сценариев - Наглядное представление работы сценариев с указанием этапов, на которые тратится больше всего времени.
- Переключение режимов версий - Переключение между различными режимами браузера для проверки на соответствие стандартам.
Режим совместимости документов
При создании Internet Explorer 8 были приложены значительные усилия для создания нового механизма форматирования с полной поддержкой CSS 2.1, поддержкой HTML 5, а также с исправлениями взаимодействия в модели DOM. Наивысший уровень поддержки стандартов включен по умолчанию для сайтов, на которых указан строгий атрибут !DOCTYPE. Авторы веб-сайтов могут выбрать наивысшую совместимость с Internet Explorer 7 с помощью следующего тега meta:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Вместо кнопки эмуляции режима IE7, которая была в первой бета-версии Internet Explorer 8, появилась кнопка представления совместимостирядом с адресной строкой. Нажмите эту кнопку для быстрого переключения между режимами совместимости браузера. Перезапускать браузер не требуется.
Хранилище DOM
Возможность хранить крупные объемы данных непосредственно на жестком диске компьютера пользователя важна для веб-приложений, работа которых не ограничивается взаимодействием между клиентом и сервером. Локальное хранилище очень удобно при потере подключения к Интернету; можно синхронизировать локальные изменения при восстановлении подключения. При изменении состояния подключения срабатывают события работы в сети и вне сети. Для этих событий поддерживаются сценарии.
Улучшения в HTML и DHTML
Новая реализация HTML 4.01 теперь обладает гораздо лучшими возможностями взаимодействия. В число улучшений входят следующие.
- Резервное изображение тега object поддерживает взаимодействие с другими браузерами. Например, тег object без размеров теперь имеет такой же размер, как и изображение, а не 0 x 0 пикселей.
- Элемент button отправляет свой атрибут value вместо innerHTML. Это означает, что можно использовать элемент button для сценариев FORM, используемых разными браузерами.
- В методе getElementById теперь учитывается регистр, а также исправлена ошибка поиска с помощью атрибута NAME.
- В методе setAttribute теперь не учитывается регистр, не нужно использовать "смешанный регистр" ("ПримерСловаВСмешанномРегистре") для указания атрибутов. В нем также правильно определяются HTML-атрибуты, такие как CLASS и FOR.
Изменяемые прототипы DOM
В новой версии в JScript предусмотрен способ переопределения существующих методов объекта и создания новых методов для мгновенного применения ко всем экземплярам объектов. Эта привязка дает возможность управлять объектами DOM так, как если бы они были объектами JScript. За счет предоставления встроенных прототипов DOM для элементов ядро JScript может напрямую управлять циклическими ссылками, которые иногда возникают между инфраструктурой компонентно-объектной модели (COM) Internet Explorer и механизмом сценариев. Это позволяет устранять ошибки утечки памяти, которые непросто обнаружить.
Улучшения защищенного режима
В Windows Vista защищенный режим запрещает запись файлов в расположения с низким уровнем безопасности, включая папку Cookies. В Internet Explorer 8 приложения со средним уровнем безопасности могут использовать файлы Cookie с низким уровнем безопасности без оповещения пользователя с помощью функций IEGetProtectedModeCookie и IESetProtectedModeCookie. Как обычно, приложения, в которых используются файлы Cookie, загруженные из Интернета, должны полагать, что такие файлы содержат вредоносные данные.
В Internet Explorer 8 можно управлять браузером после его запуска из процесса по средним уровнем безопасности, даже если он открывается в защищенном режиме. После вызова Navigate2 событие NewProcess вернет ссылку на новый объект WebBrowser, который был только что открыт.
Функции RSS
- Каналы с проверкой подлинности - Теперь RSS-платформа Windows может выполнять проверку подлинности без взаимодействия с пользователем. Имя пользователя и пароль можно указать в окне свойств канала.
- Эффективный идентификатор - Для создания уникального идентификатора элементов каналов используется алгоритм хэширования. Это значение можно использовать для синхронизации состояния элемента (прочтен или не прочтен) между компьютерами или для сравнения элементов в общем списке каналов с элементами, которые были сохранены другими программами.
Варианты поиска
В Internet Explorer 8 поиск сделан значительно удобнее по сравнению с Internet Explorer 7 благодаря следующим функциям:
- Варианты поиска - Пользователи могут ввести нужный поисковый запрос намного быстрее. Поддерживается формат JSON и расширенный формат OpenSearch XML.
- Наглядные варианты поиска - Интегрированный поиск рисунков и другого наглядного содержимого.
- Улучшенный пользовательский интерфейс - С помощью раскрывающегося списка быстрого выбора и контекстного меню ускорителей можно легко выбирать установленные поставщики поиска и переключаться между ними. Кроме того, с помощью поиска в журнале, можно автоматически находить недавно просмотренные веб-страницы, не закрывая окна поиска.
Безопасность и конфиденциальность
Следующие функции делают работу в Интернете безопаснее:
- Защита от фальшивых кнопок Иногда злоумышленники пытаются обмануть пользователей, размещая на сайтах кнопки, которые якобы выполняют безопасные или безвредные функции, но на самом деле выполняют посторонние задачи. Для этого злоумышленники внедряют вредоносный код или "переоформляют" пользовательский интерфейс с помощью прозрачных фреймов, которые закрывают определенные элементы пользовательского интерфейса фальшивым текстом и изображениями. Чтобы бороться с таким видом мошенничества, владельцы веб-сайтов могут отправлять заголовок отклика HTTP с именем X-Frame-Options вместе с HTML-страницами для защиты от подмены интерфейса страницы.
X-Frame-Options: Deny
Если значение X-Frame-Options содержит маркер Deny, то Internet Explorer 8 запрещает отображение страницы, если она содержится внутри фрейма. Если значение содержит маркер SameOrigin, то Internet Explorer 8 не будет отображать страницу, если контекст просмотра верхнего уровня отличается от источника страницы, содержащей эту директиву. Вместо заблокированных страниц отображается страница с сообщением об ошибке "Это содержимое невозможно отобразить во фрейме".
- Фильтр межсайтовых сценариев (XSS): Эта новая функция браузера Internet Explorer 8 блокирует уязвимости "отраженного" XSS (тип I). Сценарий может быть "отражен", когда часть HTT-запроса используется для формирования отклика сервера, из-за чего вредоносный сценарий в запросе запускается с таким же уровнем доступа, как и остальная страница. Фильтр XSS отслеживает все запросы и отклики в браузере. Когда фильтр обнаруживает сценарий в межсайтовом запросе, он анализирует сценарий и отключает его, если он повторяется в отклике сервера. В этом случае отображается сообщение "Эта страница была изменена для предотвращения возможной атаки с использованием межсайтовых сценариев". Веб-разработчики, желающие отключить этот фильтр для своего содержимого, могут использовать следующий заголовок HTTP.
- Удаление журнала браузера: Когда пользователь работает в Интернет, браузер Internet Explorer сохраняет выбранные пользователем параметры, введенные данные и сведения о посещенных страницах. Некоторые расширения могут делать то же самое. Ранее надстройки не могли получить сведений о том, очистил ли пользователь папку временных файлов Интернета, удалил ли он файлы Cookie и журнал. Теперь, путем реализации интерфейса IDeleteBrowsingHistory можно уведомлять расширения при очистке пользователем кэша браузера — в этом случае расширения смогут одновременно удалить собственные сохраненные данные.
- Фильтрация InPrivate: Веб-сайты могут отслеживать пользователей без использования файлов Cookie. В Internet Explorer 8 можно гарантировать конфиденциальность данных путем блокировки обмена данными со сторонним содержимым (изображениями и сценариями с других веб-сайтов, встроенных в просматриваемую веб-страницу). Фильтрация InPrivate отслеживает сторонние элементы и может автоматически (если этот режим включен пользователем) блокировать веб-сайты, предоставившие стороннее содержимое более чем для 10–30 сайтов. Разработчики надстроек и панелей инструментов могут определить, включил ли пользователь фильтрацию InPrivate, путем вызова IEInPrivateFilteringEnabled или с помощью следующего сценария:
var enabled = window.external.InPrivateFilteringEnabled();