Что переводит Internet Explorer в режим причуд?

Я создал веб-страницу (http://www.snow4life.yum.pl), который правильно отрисовывался в firefox, chrome и т. д. Конечно, глупый IE усложняет вещи, потому что он автоматически входит в режим причуды, даже если doctype установлен правильно и сайт проходит через проверка w3 (есть одна ошибка: не хватает некоторых символов, но файл был очищен в шестнадцатеричном редакторе). Как я могу остановить т.е. от входа в режим причуд? Там в любом случае ?


person mat_o    schedule 16.10.2010    source источник


Ответы (4)


Попробуйте убрать все пробелы перед DOCTYPE.

РЕДАКТИРОВАТЬ: в начале файла есть символ <feff>, который является подписью Unicode BOM. Поскольку у вас может не быть текстового редактора, способного увидеть это, попробуйте удалить всю первую строку и вставить ее с помощью

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

И НЕ сохраняйте файл с юникодной подписью BOM. Если это не сработает, попробуйте вообще другой текстовый редактор.

person meder omuraliev    schedule 16.10.2010
comment
Ваш сайт находится в необычном режиме и в Firefox. Перед типом документа все еще есть пробел. - person Daniel; 16.10.2010
comment
блин что бы я туда не вставлял, т.е. все равно в режиме quirks. Даже с скопированными/вставленными шаблонами из w3c. что за бред - person mat_o; 16.10.2010
comment
лучшая часть: я сохранил главную страницу w3c.org и переименовал ее в свой шаблон. Валидатор W3C показывает 40 ошибок!! Ну и конечно же режим причуд. - person mat_o; 16.10.2010
comment
Сейчас я использую vim, очищаю шаблоны от w3c и все так же. Я просто вставляю код в vim -> save'as -> base.html и затем отправляю его на сервер. Это все. Тем не менее, валидатор w3c показывает этот глупый ожидаемый стартовый тег, '‹' не найден:/ - person mat_o; 16.10.2010
comment
Хорошо, я разместил его на другом сервере, и теперь он работает. Может ли сервер как-то влиять на это? - person mat_o; 16.10.2010
comment
Используете ли вы плоский HTML или шаблон/CMS? Какой сервер? - person meder omuraliev; 16.10.2010
comment
я использую его как шаблон django, но в настоящее время нет специальных тегов django, только чистый html. - person mat_o; 16.10.2010

Вставьте приведенный ниже код в тег head

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
person Pugazh    schedule 11.01.2013

Режим Quirks в любой версии IE также будет запущен, если что-либо предшествует DOCTYPE. Например, если гипертекстовый документ содержит комментарий, пробел или любой тег перед объявлением DOCTYPE, IE будет использовать специальный режим:

<!-- This comment will put IE 6, 7, 8, and 9 in quirks mode -->
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
person Amr    schedule 07.02.2013

Я добавил тип документа из первого комментария, а затем метатег, и это сработало, спасибо, ребята .... и не благодаря IE :(

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

и

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

Я только что изменил тип документа на html5, и он все еще отлично работает.

 <!DOCTYPE html> 
    <html>
      <head> 
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
person Jon    schedule 04.02.2013