2013-08-02 4 views
2

Как я могу заставить свой IE9 иметь режим документа стандартов IE9?Изменение режима документа IE9 на стандарты IE9

Теперь у меня есть этот мета-контент, но, похоже, он не работает.

<html> 
    <head> 
    <meta http-equiv="X-UA-Compatible" content="IE=9" /> 

Также, как я могу узнать, изменился ли мой режим документа?

спасибо.

+0

Предлагаем использовать 'content =" IE = edge "', в котором говорится, что он использует лучший доступный режим, а не 'IE = 9', потому что это заставит IE10 работать в режиме IE9-compat. – Spudley

+0

Кстати - Какой режим вы на самом деле получаете? – Spudley

+0

По умолчанию мой IE9 находится в режиме браузера: IE9 и режим документа: Quirks, мне нужен режим документа для IE9 Standards.tnx – SyntaxError

ответ

4

Вы утверждаете, что браузер недобросовестный режиме совместимости.

Правильное решение для выхода из режима Quirks - использовать DOCTYPE.

Убедитесь, что ваш HTML код начинается со следующей строки:

<!DOCTYPE html> 

Это должно быть первой строке кода, над <html> тега.

Флаг X-UA-Compatible - это хорошо, но не имеет отношения к вашей проблеме в этом случае. Он сообщает IE переключаться между различными режимами совместимости, но режим Quirks - это целая отдельная вещь и контролируется существованием или отсутствием doctype.

Вы должны держать X-UA-Compatible флаг, хотя, как я уже говорил в комментариях, вы бы лучше, чтобы установить его на IE=edge, а не IE=9, в противном случае вы будете иметь проблемы с IE10 и позже.

Надеюсь, что это поможет.

[EDIT]

Мы уже установили, что сайт в OP является работает в кадре, в другом месте, которое находится в режиме совместимости.

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

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

Преобразование нового кода для запуска в режиме quirks может быть возможным, но очень рискованно; Я бы настоятельно рекомендовал против этого. В любом случае, мне нужно будет потратить время на изучение всего исходного кода, прежде чем я даже смогу сказать, возможно ли это или нет, не говоря уже о том, как много работает.

Преобразование старого кода для запуска в стандартном режиме, вероятно, будет более достижимым. Опять же, это зависит от того, насколько велика база кода, но главное, что вам не нужно беспокоиться о нарушении преобразования из-за неподдерживаемых функций, потому что сайт уже работает в старом режиме; переход в более новый режим может потребовать некоторых изменений, но, по крайней мере, с самого начала вы можете быть уверены, что это возможно.

Единственный другой вариант, который у вас есть - это изменить свой сайт, чтобы вместо того, чтобы быть в рамке, он выплывает в отдельное окно (или вкладку).Таким образом, он может оставаться в стандартном режиме, и старый сайт может оставаться в режиме quirks. Это единственный возможный вариант, который не требует много работы.

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

+1

По-прежнему не везет, :(Мне нужен мой режим документа, чтобы быть точно стандартами IE9. Как я узнаю, изменился ли мой режим документа? Спасибо – SyntaxError

+0

Итак, вы добавили doctype ... какой режим он показывает сейчас, когда вы загружаете страницу? – Spudley

+0

С действующим doctype ваша страница больше не должна находиться в режиме quirks. Если она * еще находится в режиме quirks, могут возникнуть другие серьезные проблемы с вашим HTML, проверьте наличие ошибок HTML в [W3C Validator] (http://validator.w3.org/) и исправить все, что появляется там. – Spudley

-1

использование content="IE=edge" вместо IE=9 это заставит ваш браузер IE придерживаться последней доступной

+0

Характер вопроса OP заключается в том, как заставить браузер работать в режиме IE9 независимо от него. У меня такая же проблема, и я не могу ее решить, используя ' и' content = "IE = 9" '. –

Смежные вопросы