Я немного растерялся из-за того, как IE8 определяет режим документа.У меня есть противоречия.
Настройка
Вот как выглядит сгенерированный заголовок веб-страницы на моем веб-сайте, обратите внимание на тип документа:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head">
<meta id="IE8" http-equiv="X-UA-Compatible" content="IE=8" />
...
Я использую meta http-экв. установлен в X-UA-Compatible , чтобы заставить его отображаться в «стандартном режиме», потому что этот сайт был сделан так.Сайт находится на другой машине в локальной сети компании ( 10.1.xx ).
Пока все в порядке, но у меня возникают проблемы с окном настроек совместимости:
Результаты:
Если в настройках совместимости ничего не отмечено и не указано в списке, агент пользователя:
Mozilla / 4.0 (совместимый; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) [ ok ]
Если установлен флажок «Отображать все веб-сайты в режиме совместимости»:
Mozilla / 4.0 (совместимо; MSIE 7.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E) [ согласованный, но не ожидаемый ]
Когдапроверяется только «Отображение сайтов интрасети в режиме совместимости»:
Mozilla / 4.0 (совместимо; MSIE 8.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727;.СЕТЬCLR 3.5.30729;.NET CLR 3.0.30729;.NET4.0C;.NET4.0E) [ не в порядке ]
Когда URL добавлен в список «Веб-сайты, добавленные вами в представление совместимости»:
Mozilla / 4.0 (совместимо; MSIE 7.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C;.NET4.0E) [ связный, но не ожидаемый ]
Согласно следующей записи в блоге IE диаграмма, если метатег X-UA-Compatibleравно присутствует и значение равно IE = 8 , для рендерера установлено значение " Стандартный режим ".Как только что описано, это не так.Meta всегда был IE = 8, но пользовательский агент изменился.Диаграмма учитывает настройки представления совместимости после мета-проверки X-UA-Compatible.В моем случае это выглядит наоборот.Диаграмма неверна?
Вопросы:
Почему пользовательский агент msie 8.0, когда установлен флажок «Отображать сайты интрасети в режиме совместимости» ?!(это из-за моей мета? Действительно ли http://10.1.x.x/ рассматривается как веб-сайт интрасети?)
Почему пользовательский агент - msie 7.0, когда "Показать все сайты в представлении совместимости"" проверено???(это переопределить мою мету? но не в соответствии с диаграммой)
Почему пользовательский агент - msie 7.0, когда сайт добавлен в список совместимости?
Согласно диаграмме, мой тип документа попадает в категорию " Почти стандарт ".Кажется, есть лучшая мета для форсирования стандартного режима IE8, но в соответствии с типом документа:
<meta id="IE8" http-equiv="X-UA-Compatible" content="**IE=EmulateIE8**" />
Лучше использовать его или тот, который я использую в настоящее время (принудительно IE = 8)?Кажется, что почти стандартный режим - это в точности стандартный режим с тонким изменением рендеринга изображений в таблице, хорошо, но ... какой из них выбрать?
Затем снова на диаграмме упоминается "IE = Emulate8", но в этой статье говорится о "IE = EmulateIE8", похоже, что более поздняя версия является правильной в соответствии с документацией http-эквивалент .
Есть ли способопределить (на стороне клиента / в сети), находится ли IE в «режиме почти стандартов» или «режиме стандартов»?
Несколько ссылок, на которые стоит обратить внимание:
http://blogs.msdn.com/b/ie/archive/2008/08/27/introducing-compatibility-view.aspx
http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx
http://msdn.microsoft.com/en-us/library/ms533876(VS.85).aspx
http://msdn.microsoft.com/fr-fr/library/cc288325(VS.85).aspx
http://blog.strictly -software.com / 2009/03 / режимы обнаружения-т.е.-8-совместимости-whtml
http://phrogz.net/ie8-intranet-compatibility-view
http://hsivonen.iki.fi/doctype/ -> http://hsivonen.iki.fi/doctype/ie8-mode.png
javascript:alert(navigator.userAgent)
javascript:alert(document.compatMode);
javascript:alert(document.documentMode);