Что на веб-сайте asp.net может помешать открытию html-страницы в режиме причуд?

Мы используем IIS8 в качестве нашего веб-сервера. У нас есть старая html-страница, которая отображается в режиме причуд (это то, что нам нужно) в ie10, когда она находится в виртуальном каталоге. У него нет тега для принудительного режима причуд. Если страница отображается из папки на веб-сайте asp.net, она не отображается в режиме совместимости и, следовательно, отображается неправильно.

Мы предполагаем, что изменили что-то в конфигурации веб-сайта, что по умолчанию препятствует отображению страницы в режиме quirks. Кто-нибудь может подсказать, что это может быть?

Чтобы не писать эссе о том, почему мы делаем то, что мы делаем, позвольте мне просто сказать, что мы бы предпочли не изменять html-страницу для принудительного режима причуд или вообще не изменять ее каким-либо образом. Было бы очень удобно установить, какое изменение привело к тому, что страница не отображалась в специальном режиме по умолчанию, и внести изменения в установщик приложения для автоматического изменения веб-сайтов наших клиентов.

РЕДАКТИРОВАТЬ: я забыл упомянуть, что в обоих случаях я использую режим совместимости.

РЕДАКТИРОВАТЬ 2: Теперь мы нацелены на .net 4.5, и я читал в Интернете некоторые материалы, в которых говорится, что отключается режим причуд.

Редактировать 3: Кажется, мы перешли на 4.5 до того, как эта проблема стала очевидной.

Редактировать 4: Ответ двоякий. В ответ на комментарий Эндрю Мортона я провел глобальный поиск X-UA-Compatible и нашел Response.AddHeader("X-UA-Compatible", "IE=edge"); в обработчике Application_BeginRequest. Однако это предшествует проблеме на несколько лет. Должно быть, какое-то другое изменение, произошедшее совсем недавно, в сочетании с этим вызвало эффект. Как бы то ни было, мы потратили на это достаточно времени и решили добавить тег в html, чтобы активировать режим причуд.


person Ian    schedule 14.07.2015    source источник
comment
Как насчет того, чтобы исправить страницу? Никогда не слышал о странице, которая отображается неправильно, если НЕ находится в причудливом режиме.   -  person frenchie    schedule 14.07.2015
comment
Как я уже сказал, есть веские причины избегать изменения страницы, если это возможно.   -  person Ian    schedule 14.07.2015
comment
stackoverflow.com/questions/14611264/ содержит некоторую информацию о том, как принудительно включить режим совместимости   -  person fozylet    schedule 14.07.2015
comment
Я знаю об этом, и это действительно работает. Просто страницы нужно будет обновлять вручную на веб-сайтах клиентов, поэтому мы хотели бы этого избежать.   -  person Ian    schedule 14.07.2015
comment
Вы проверили заголовки HTTP, чтобы увидеть, не попал ли туда X-UA-Compatible. Его можно установить в файле web.config в разделе ‹system.webServer› ‹httpProtocol› ‹customHeaders›.   -  person Andrew Morton    schedule 14.07.2015
comment
Не в Web.config, но только что выполнил поиск по всему приложению и нашел // Отключите режим причуд IE. Response.AddHeader(X-UA-Compatible, IE=edge); в Application_BeginRequest!!!   -  person Ian    schedule 14.07.2015


Ответы (1)


Из IE блог:

Режим особенностей HTML5 в IE10 используется для страниц без DOCTYPE или с устаревшим DOCTYPE, как определено в HTML5.

Это означает, что единственное, что вызывает режим Quirks, — это сама страница. Если вы не хотите его менять, вы не можете форсировать режим Quirks. Для этого нет исправления на стороне сервера. Это все на стороне клиента.

person Patrick Hofman    schedule 14.07.2015
comment
Как вы уже догадались, DOCTYPE не существует. Проблема в том, что одна и та же страница отображается в режиме причуд, если она находится в виртуальной среде непосредственно за пределами веб-сайта asp.net. - person Ian; 14.07.2015
comment
Мне трудно в это поверить, поскольку сервер не влияет на режим причуд. Уверены, что ASP.NET не изменяет файл или что ваш браузер помнит настройку режима Quirks на определенной странице? - person Patrick Hofman; 14.07.2015
comment
Я не знаю, почему asp.net меняет html-файл, но, возможно, это так. Когда я открываю страницу на веб-сайте на одной вкладке в ie10, она не находится в режиме причуд. Когда я открываю копию страницы в отдельном виртуальном каталоге на следующей вкладке, она находится в режиме причуд. - person Ian; 14.07.2015
comment
Может какие-то настройки браузера? - person Patrick Hofman; 14.07.2015