В каком режиме работает IE6, если doctype — это html как HTML5?

#html #browser #internet-explorer-6 #doctype #quirks-mode

#HTML #браузер #internet-explorer-6 #doctype #режим причуд

Вопрос:

Если веб-страница имеет doctype как HTML5.

 <!doctype html>
  

Какой режим рендеринга для IE6?

Document.compatMode сообщает о CSS1Compat. Это выглядит как стандартный режим, а не режим quirks. Но правда ли это? IE6 выпущен до того, как был введен термин HTML5. Как IE6 может распознать doctype HTML5?

Ответ №1:

Тип документа HTML5 был специально выбран, потому что это была самая короткая строка doctype из возможных, которая запускала стандартный режим во всех браузерах (начиная с IE6). Это было преднамеренное решение, основанное на том, что что будет работать в браузерах, которые уже использовались.

Другими словами, если вы укажете <!doctype html> , IE6 должен перейти в стандартный режим, а не в режим quirks.

Причина, по которой это работает, заключается в том, что IE6 (и другие) на самом деле довольно снисходительны к doctype; они предполагают, что если там есть doctype, разработчик, вероятно, намеревался перейти в стандартный режим. Если они не распознают это, они предполагают, что либо разработчик допустил опечатку, либо был изобретен новый doctype, которого не было на момент выпуска браузера; в любом случае, браузер пытается извлечь из этого максимум пользы и работать в стандартном режиме. Команда HTML5 обнаружила, что html была самой короткой из возможных строк doctype, которая вызвала это поведение, следовательно, ее использование в качестве doctype HTML5.

Что в HTML5 типа документа не обойтись, конечно, вызовет старые браузеры, такие как IE6 на самом деле поддерживать какой-либо из новых функций HTML5. Это действительно очевидно. Такие продукты, как Modernizr и HTML5Shiv, могут помочь с этим, но только до определенного момента.