Разница main является строкой User-Agent. Для Internet Explorer 9 отправляется новая и улучшенная строка UA :
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Для просмотра совместимости будет отправлено что-то похожее на следующую строку:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Zune 4.7)
Обратите внимание на то, как строка совместимости представления UA определяет браузер как MSIE 7.0 ? Режим документа недостаточно для представления совместимости, как задумано. Причина этого в том, что вы не можете быть по-настоящему совместимы с предыдущими версиями, если все еще говорите веб-серверу , что вы используете IE 9 & mdash; он может иметь некоторый серверный код, который идентифицирует браузеры IE 7 и выдает контент, специфичный для этого браузера. Таким образом, инструменты разработчика дают вам возможность увидеть, как будет выглядеть ваша веб-страница, если пользователь щелкнет значок «Представление совместимости» без постоянного включения представления совместимости.
Для полноты картины также стоит упомянуть, что строка версии приложения изменяется аналогичным образом. Строка версии приложения IE 9:
5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
И в режиме совместимости (может отличаться в зависимости от установленного программного обеспечения):
4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Zune 4.7)
Эти строки очень похожи на строку UA, но сценарии на стороне клиента могут ссылаться на эту строку вместо строки UA. IE 9 все еще может быть идентифицирован как в строке UA, так и в версии приложения из части Trident/5.0
, независимо от режима совместимости.