почему я запускаю режим причуд в IE8? - PullRequest
11 голосов
/ 31 октября 2009

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

У меня строгий DTD:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Я даже включил явный переключатель стандартов, хотя не думал, что мне нужно:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Я не могу понять, почему страница по умолчанию не соответствует стандартам IE8?

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

Спасибо!

1 Ответ

22 голосов
/ 31 октября 2009

Решает ли IE, какой режим использовать на уровне сервера

Обычно нет, нет. Существует уродливость списка совместимости , который зависит от конкретного сайта, но который возвращает вас обратно в режим стандартов IE7-style, а не в IE5.5-style-Quirks-Mode.

В противном случае ваш код выглядит нормально, если этот DOCTYPE является самым первым на странице. IE будет принужден к document.compatMode= 'BackCompat', если есть комментарий, PI, объявление XML (до IE8) или любой текстовый контент без пробелов перед doctype. Если управляющий персонаж прокрался, что вы не можете видеть в текстовом редакторе, это может сделать это.

Пример проблемной страницы?

...