Как заставить IE9 перейти в режим совместимости с IE8 из * кода, стоящего за *

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

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

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

Однако это обычно добавляет заголовок в качестве последнего тега в разделе HEAD. Для режима совместимости IE необходимо, чтобы это был первый тег в разделе заголовка.

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

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

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


person Hoppe    schedule 12.10.2011    source источник
comment
Я полагаю, говоря, что вы не можете изменить страницу ASPX, вы используете модель портала, а не модель ASPX?   -  person Doozer Blake    schedule 13.10.2011
comment
@ Эндрю Барбер, переполнение стека не позволило мне, потому что у меня не было достаточно сообщений для этого   -  person Hoppe    schedule 13.10.2011


Ответы (2)


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

person SLaks    schedule 12.10.2011
comment
смогу ли я сделать так, чтобы это был первый заголовок? Я не понимал, что могу также использовать this.Page.Header.Controls.AddAt (0, new LiteralControl (mystring)); Я просмотрел все методы и проверял insert, а не addat. - person Hoppe; 13.10.2011
comment
@ Джо: Это не имеет значения. Порядок заголовков HTTP вообще не имеет значения. Он должен быть первым, только если вы используете тег <meta>. - person SLaks; 16.10.2011

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

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

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

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

person JurajO    schedule 15.10.2011