У контрольованому доменом середовищі я виявляю, що режим сумісності запускається на певних клієнтах (winXP / Win7, IE8 / IE9), навіть коли ми надаємо теги X-UA, визначення! DOCTYPE та відповідь "IE = Edge" заголовки. Для цих клієнтів встановлено прапорець "відображати сайти інтрамережі у поданні сумісності". Що саме я намагаюся перевизначити.
Далі подана документація, яку я використовував, щоб спробувати зрозуміти, як IE вирішує насправді активувати режим сумісності.
http://msdn.microsoft.com/en-us/library/ff406036%28v=VS.85%29.aspx
http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx
Власники сайтів завжди контролюють їх вміст. Власники веб-сайтів можуть використовувати тег, сумісний з X-UA, щоб абсолютно чітко заявити про те, як вони хочуть відображати їхній сайт, і зіставити сторінки режиму стандартів із стандартами IE7. Використання тегу X-UA-Compatible замінює подання сумісності на клієнті.
Google за "Визначення сумісності документів" , на жаль, механізм спаму не дозволяє мені розміщувати більше 2 URL-адрес.
Це ASP .NET
веб-програма, яка містить наступні визначення на головній сторінці:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
</head>
і web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Я використовував Fiddler, щоб перевірити, чи справді правильно вставлений заголовок.
Я розумію, що за допомогою цих налаштувань я мав би змогу замінити налаштування браузера "Показувати сайти інтрамережі в режимі сумісності". Але залежно від клієнта я виявив, що деякі з них все одно запускатимуть режим сумісності. Це також здається на рівні машини, а не налаштування групи політик, оскільки я отримую різні результати, навіть коли я використовую з однаковим набором облікових даних для різних клієнтів.
Вимкнення прапорця Параметри перегляду сумісності робить трюк. Але фактична мета полягає в тому, щоб переконатися, що програма відображається точно так само, незалежно від налаштувань клієнта.
Будь-які думки і те, чого я міг би пропустити? Чи можливо взагалі змусити IE завжди відображати сторінки, не запускаючи режим Compat?
завдяки мільйонів,
Жауме
PS: сайт наразі розробляється і, звичайно, не входить до списку сумісності Microsoft, але я також перевірив про всяк випадок.
Google за "Розуміння списку перегляду сумісності" , на жаль, механізм спаму не дозволяє мені розміщувати більше 2 URL-адрес.