Когда IE8 переходит в режим Quirks? - PullRequest
2 голосов
/ 16 июня 2011

Мы находимся в процессе преобразования веб-приложения в IE8 (сейчас клиент использует IE6).Мы не создавали это приложение.Мы только модифицируем и добавляем в него новые функции.Когда я посещаю большинство страниц этого приложения с помощью инструментов разработчика IE8, я вижу, что IE работает в режиме Quirks.Но некоторые страницы работают в стандартном режиме Internet Explorer 8.На этой странице http://msdn.microsoft.com/en-us/library/dd565628(VS.85).aspx написано:

"Режим Quirks: это поведение соответствует поведению Internet Explorer при отображении документа без типа документа или типа документа Quirks."

Но все нашина страницах определен DOCTYPE -! DOCTYPE html PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" (Я не знаю, как вводить угловые скобки здесь, но они присутствуют на веб-странице.

Может ли кто-нибудь объяснить мне, почему IE8 работает как в Quirks, так и в стандартном режиме при отображении страниц, для которых все определены в DOCTYPE? Или, может быть, показать мне два примера страниц, которые IE8 отображает в Quirks и стандартном режиме?

Ответы [ 2 ]

6 голосов
/ 16 июня 2011

Тег doctype должен быть первым в разметке, в противном случае он игнорируется.Если у вас есть тег объявления XML перед тегом doctype, IE проигнорирует doctype.

Если разметка HTML полностью нарушена, браузер может снова интерпретировать ее как суп тега, а не как документ HTML,и рендеринг в режиме Quirks.

Используйте валидатор HTML W3C , чтобы убедиться, что в коде нет серьезных ошибок.

0 голосов
/ 27 марта 2013

Попробуйте просмотреть свой HTML в редакторе HEX.Перед объявлением DOCTYPE могут быть некоторые странные символы (обычно 3: ef bb bf).IE также впадает в причуды в этом случае.Случалось со мной и раньше, и сейчас тоже.

...