почему я запуская режим совместимости в IE8?


Я работаю над страницей, которая, когда я загружаю в 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 11

1 ответ:

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

Вообще-то нет. Существует уродство списка просмотра совместимости , который является специфичным для сайта, но который только возвращает вас в режим стандартов стиля IE7, а не в режим причуд стиля IE5.5.

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

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