Режим браузера IE8 в режиме документа
Может кто-нибудь объяснить простые различия между режимами браузера IE8 и ?
- Что вызывает изменение режима браузера?
-
Что вызывает изменение режима документа?
-
Если пользователь меняет режим с помощью инструментов разработчика, сохраняется ли изменение, даже если страница обновлена?
Я спрашиваю об этом, потому что мы проводим тестирование IE8 здесь, а разные люди имеют разные комбинации режимов, и я хочу попытаться выяснить, как это происходит.
Ответы
Ответ 1
Из эта статья в блоге IE8 под названием Как IE8 определяет режим документа
- Настройки инструментов разработчика переопределяют все режимы документа для страниц, отображаемых на вкладке.
- Метатег X-UA-совместимый, а затем заголовок переопределяет параметры просмотра совместимости и doctype, если значение X-UA-Compatible не является EmulateIE7 или EmulateIE8.
- Параметры просмотра совместимости пользователей переопределяют список представлений совместимости Microsoft.
- Если ни одно из вышеприведенных правил не применяется, doctype определяет, будет ли веб-страница отображаться в стандартах IE8, в стандартах IE8 почти для всех или в режиме Quirks.
Итак, из этого мы получаем следующие ответы на ваши вопросы:
Q. В чем разница между режимом браузера и режимом документа простыми словами?
A. Режим браузера установлен в инструментах разработчика для эмуляции поведения версии браузера IE, в то время как режим документа определен на веб-странице, чтобы сообщить IE, чтобы он отображал сайт по-разному для целей совместимости.
Q. Что вызывает изменение режима браузера?
A. Пользователь изменяет режим браузера в инструментах dev.
Q. Что вызывает изменение режима документа?
A. Метатег и заголовок Doctype и X-UA, совместимые с веб-разработчиком.
Q. Если пользователь меняет режим с помощью инструментов разработчика, сохраняется ли изменение, даже если страница обновлена?
A. Режим браузера останется, но если вы измените Doctype и X-UA-Compatible, они вернутся к тому, что определено на странице.
ОБНОВЛЕНИЕ: Как указывает Adrien Be ниже, IE9 + добавляет возможность изменения режима документа в инструментах dev с помощью параметра, который будет сохраняться при обновлении.
Ответ 2
См. ваш ответ в этой странице.
Свойство documentMode
возвращает режим, используемый браузером для визуализации текущего документа.
IE8 может отображать страницу в разных режимах, в зависимости от !DOCTYPE
или наличия определенных элементов HTML.
Это свойство возвращает одно из следующих значений:
5 - The page is displayed in IE5 mode
7 - The page is displayed in IE7 mode
8 - The page is displayed in IE8 mode
9 - The page is displayed in IE9 mode
Примечание: Если не указано !DOCTYPE
, IE8 отображает страницу в режиме IE5!
![Диаграмма процесса выбора режима документа]()
Ответ 3
Режим браузера. Указывает агент пользователя, отправленный браузером на веб-сервер. Различия в различиях могут возникать, если ваш JavaScript или внутренний код визуализируется по-разному на основе строки пользовательского агента. Например, вы можете увидеть JavaScript, который проверяет navigator.userAgent
. (Mozilla/5.0 (совместимо; MSIE 8.0...) Это значение также используется для обработки условных комментариев ([if lte IE 9], [if gt IE 8] и т.д.). Инструмент эмуляции в IE 11 не имеет режима браузера. Вместо него есть раскрывающееся меню пользователя.
Режим документа. Указывает механизм рендеринга, используемый для обработки разметки. Обычно мы видим проблемы с отображением и несовместимость браузеров. Первоначальная цель (к лучшему или худшему) заключалась в том, что владельцы веб-сайтов могли выбрать режим документа для своего сайта с помощью метатега. В IE 11 инструменты эмуляции менее запутаны.
Тестирование:
Если ваша цель - эмулировать старый браузер IE8, вы должны изменить режим браузера и режим документа. Эмуляция не идеальна, поэтому более тщательный вариант заключается в скачать бесплатные тестовые виртуальные машины из Microsoft, где вы можете протестировать с помощью * реальной версии IE 8, 9 и т.д.
Что вызывает изменение этих значений?
Режим браузера не изменится. (Если вы не измените его в инструментах Dev.) Он устанавливается перед выполнением запроса на веб-сервер.
Режим документа может изменяться в зависимости от ответа веб-сервера. Его можно изменить с помощью HTTP-заголовка, совместимого с X-UA, типа документа, метатег, сайтов интрасети, проблем с разметкой и т.д.
Ответ 4
В левом верхнем углу находится небольшая кнопка, в инструментах IE dev → эмуляция (вкладка), в которой говорится: "Сохранять настройки эмуляции"
см. this:
"Сохранение настроек и reset
Значок настроек Persist Emulation добавлен в инструмент эмуляции. Это будет поддерживать ваши текущие настройки эмуляции до тех пор, пока они не будут отключены, что позволит вам работать, закрывать браузер и возвращаться с сохраненными настройками эмуляции. Справа находится значок настроек Reset Эмуляция, который быстро возвращает инструмент обратно к значениям по умолчанию. "