Отключить чистое поле IE10 в режиме совместимости

Мне не нужна четкая функциональность (кнопка X) в текстовых полях, отображаемых в IE10 и более поздних версиях. Для этого я настраиваю отображение псевдоэлемента -ms-clear на none. Однако он по-прежнему отображается, когда IE работает в режиме совместимости. Поскольку это сайт внутренней сети, он всегда будет работать в режиме совместимости. И для этого нет обходного пути: http://connect.microsoft.com/IE/feedback/details/783743/disable-ie10-clear-field-button-when-rendering-in-compatibility-mode

Использование <add name="X-UA-Compatible" value="IE=edge" /> в web.config для принудительного запуска IE в стандартном режиме не рекомендуется в соответствии с msdn, поскольку это касается производственных сценариев. Есть ли другой способ обойти это?


person CopyPasteDev    schedule 18.11.2013    source источник
comment
Я использовал <meta http-equiv="X-UA-Compatible" content="IE=edge">, и он работал хорошо. Это определенно лучшее решение, чем работа в режиме совместимости.   -  person Kobi    schedule 18.11.2013
comment
Согласно ссылке, которую вы включили в вопрос, это просто невозможно. IE10/11 не включает эту возможность в режиме совместимости. Если вы хотите избавиться от виджета очистки, единственный вариант, который у вас есть, — переключиться в стандартный режим. Другого пути действительно нет. (Мне любопытно узнать, почему ваш сайт застрял в режиме совместимости; скорее всего, в этом нет необходимости).   -  person Spudley    schedule 18.11.2013
comment
@Spudley: IE по умолчанию настроен на отображение сайтов интрасети в режиме совместимости, и я не хочу, чтобы пользователи могли переключаться в стандартный режим. Использование IE=edge не рекомендуется в производственной среде. :(   -  person CopyPasteDev    schedule 18.11.2013


Ответы (2)


Согласно официальному ответу microsfts «Проблема, о которой вы сообщаете, является намеренной». Вот ссылка на официальный ответ от Microsoft ссылка

person roshan    schedule 20.06.2014

Хотя определенно не рекомендуется в всех случаях устанавливать для заголовка X-UA-Compatible значение IE=edge, так как это оставляет за вами контроль над тем, какая «пограничная» версия выбирается, это полностью зависит от того, насколько вы доверяете своему коду, чтобы быть в достаточной степени совместимым с HTML5, чтобы поддерживать правильное отображение в будущих браузерах. Если вы это сделаете, вы можете проигнорировать рекомендацию не использовать IE=edge, поэтому это рекомендация, а не запрещено.

Более консервативно, вы также можете выбрать фиксированную версию. Если ваша аудитория использует смешанный пакет установок IE9, 10 и 11, и вы уверены, что он отлично работает в IE9, используйте это:

<add name="X-UA-Compatible" value="IE=9" />

Это заставит все более поздние IE, чем 9, также отображать его в режиме, совместимом со стандартами IE9, что намного лучше, чем базовый режим совместимости (который, по сути, является IE7 Quirks).

В двух словах — рекомендации — это всего лишь рекомендации, и их можно спокойно игнорировать, если вы знаете о последствиях и принимаете надлежащие меры предосторожности.

person Niels Keurentjes    schedule 22.11.2013
comment
(поздний комментарий, но...) К вашему сведению, я проголосовал за этот ответ, потому что он не ответил на вопрос, который больше касается исправления ms-clear, чем того, как использовать X-UA-Compatible (на самом деле, форсирование режима IE9 - это то, что < i>причина проблемы, а не решения, как следует из ответа) - person patstuart; 01.05.2014