Проблема веб-приложения Asp.net с режимом совместимости IE10

У меня есть приложение asp.net с выпадающим списком большей ширины и выровненным по центру текстом по вертикали.

Вчера мой элемент управления выпадающим списком внезапно потерял свойства ширины/выравнивания css, которые неправильно отображались в браузере (IE 10).

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

подробности в моем сообщении по адресу: Вертикальное выравнивание текста в asp Управление выпадающим списком .net.

После нажатия кнопки режима совместимости он снова начинает работать хорошо.

Поскольку это случилось со мной, я подумал, что это может случиться с конечными пользователями, и поэтому они также будут отображать это неправильно.

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

Кстати, я также использовал инструменты разработчика IE, чтобы протестировать свою страницу в старых версиях браузера и заметил, что она хорошо работает и в IE 9 и 8, но выпадающий список не работает в IE7.

Спасибо!


person user2974961    schedule 06.01.2014    source источник


Ответы (1)


Ваш лучший вариант — добавить условную ссылку CSS, которая срабатывает, если версия браузера IE меньше заданной суммы. Например, если вы добавите новый файл css, содержащий стили, характерные для IE7. Эти закомментированные разделы являются хаками IE. Этот лист настроек не вступит в силу, если вы не используете браузер IE7.

 <!--[if IE 7]>
      <link rel="stylesheet" type="text/css" href="/styles/main.IE7.css"" />
    <![endif]-->

Затем вам нужно настроить стили в этой таблице стилей, чтобы они подходили для IE7.

Также иногда IE настроен на отображение сайтов интрасети в режиме совместимости. См. это для добавления параметра в web.config, который предотвратит это it-still-doesnt-stop-compatibility-mode">X-UA-Compatible имеет значение IE=edge, но по-прежнему не останавливает режим совместимости

person Leigh Ciechanowski    schedule 06.01.2014
comment
меня беспокоит не столько поддержка старых версий, как IE7. Меня беспокоит, если у пользователя есть более новая версия, такая как IE10, и он случайно нажимает режим совместимости. После этого приложение будет отформатировано. Есть ли способ заблокировать кнопку режима совместимости с помощью кода? - person user2974961; 07.01.2014
comment
См. этот вопрос. Я считаю, что вы можете добавить на свою страницу метатег, который будет блокировать режим совместимости stackoverflow.com/questions/6348959/ - person Leigh Ciechanowski; 07.01.2014