Что переводит Internet Explorer в режим причуд? - PullRequest
17 голосов
/ 16 октября 2010

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

Ответы [ 4 ]

26 голосов
/ 16 октября 2010

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

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

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

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

7 голосов
/ 11 января 2013

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

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6 голосов
/ 08 февраля 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">
3 голосов
/ 04 февраля 2013

Я добавил doctype из первого комментария, а затем метатег, и это сработало, спасибо, ребята .... и нет, спасибо 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">
...