Книга: JavaScript. Подробное руководство, 6-е издание
13.4.4. Режим совместимости и стандартный режим
13.4.4. Режим совместимости и стандартный режим
Когда корпорация Microsoft выпустила броузер IE6, в него была добавлена поддержка некоторых стандартных особенностей CSS, которые не поддерживались в IE5. Однако чтобы обеспечить обратную совместимость с существующими вебстраницами, в нем было реализовано два режима отображения. В «стандартном режиме», или в «режиме совместимости с CSS», броузер следует стандартам CSS. В «режиме совместимости» броузер проявляет нестандартное поведение, свойственное версиям IE4 и IE5. Выбор режима отображения зависит от объявления D0CTYPE в начале HTML-файла. Страницы, вообще не имеющие объявления D0CTYPE и страницы с определенными объявлениями типа документа, типичными в эру использования IE5, отображаются в режиме совместимости. Страницы со строгими объявлениями типа документа (или, для совместимости снизу вверх, с нераспознаваемыми объявлениями типа документа) отображаются в стандартном режиме. Страницы с объявлением, определяемым стандартом HTML5 (<! D0CTYPE html>
), отображаются в стандартном режиме во всех современных броузерах.
Такое различие между режимом совместимости и стандартным режимом прошло проверку временем. Новые версии IE по-прежнему реализуют его, как и другие современные броузеры, и существование этих двух режимов было узаконено спецификацией HTML5. Различия между режимом совместимости и стандартным режимом обычно имеют значение только для тех, кто пишет HTML- и CSS-код. Однако иногда клиентским сценариям на языке JavaScript бывает необходимо определить, в каком режиме отображается документ. Определить режим отображения можно с помощью свойства document.compatMode
. Если оно имеет значение «CSSICompat
», документ отображается в стандартном режиме. Если оно имеет значение «BackCompat
» (или undefined
, если такое свойство вообще не существует), документ отображается в режиме совместимости. Все современные броузеры реализуют свойство compatMode
, и оно стандартизовано спецификацией HTML5.
На практике необходимость проверять свойство compatMode
возникает редко. Тем не менее в примере 15.8 демонстрируется один из случаев, когда эта проверка действительно необходима.
- 13.4.1. Библиотеки обеспечения совместимости
- Резервное копирование при работе InterBase в режиме 24x7
- 8.5.3. Режимы энергосбережения
- Режим обратной совместимости
- 2.6. Термостабилизация режима каскада на биполярном транзисторе
- 33.1. Интерактивный и неинтерактивный режим работы
- 4. Режимы работы экспертных систем
- 1.1 Режимы ядра и пользователя Windows
- Работа с документами в режиме оффлайн
- Как сменить стандартный значок?
- Чем отличается спящий режим от ждущего?
- Можно ли при помощи горячих клавиш переводить компьютер в спящий режим?