Как заставить IE9 перейти в режим совместимости с IE8 из * кода позади * - PullRequest
2 голосов
/ 13 октября 2011

Я надеюсь заставить IE9 перейти в режим совместимости с IE8 на двух страницах моего сайта. Я использую Kentico CMS, поэтому у меня нет страницы ASPX, на которую я могу перейти и изменить тег HEAD. Поэтому я надеялся добавить тег META с помощью пользовательского элемента управления или веб-части.

В веб-части я попробовал следующий код:

this.Page.Header.Controls.Add(new LiteralControl(mystring));

Однако обычно это добавляет заголовок в качестве последнего тега в разделе HEAD. Режим совместимости с IE требует, чтобы это был тег first в разделе head.

Возможно ли это из кода позади?

Или, если кто-то обладает специальными знаниями о Kentico, то решение, специально предназначенное для Kentico, тоже будет работать.

Я хочу, чтобы это работало только на двух конкретных страницах на моем сайте. Не все из них!

Ответы [ 2 ]

8 голосов
/ 13 октября 2011

Вы должны добавить заголовок X-UA-Compatible непосредственно к Response.Headers вместо использования мета http-equiv.

0 голосов
/ 15 октября 2011

Вы можете использовать веб-часть Head HTML и разместить ее на документах (фактически на вкладке «Дизайн» для данного шаблона страницы) с необходимым кодом, и он будет добавлен в тег заголовка этих страниц.

Если документы совместно используют шаблон страницы с документами, к которым вы не хотите применять этот код заголовка, вы можете использовать поле видимости и добавить макрос, чтобы вернуть true / false.Ниже приведен пример:

{% cmscontext.currentdocument.documentname | (равно)%}

вы также можете использовать другие свойства, кроме имени документа, такие как псевдоним документа, идентификатор и т. Д.

...