Какой режим IE6, если тип документа html как HTML5?

Если веб-страница имеет тип документа как HTML5.

<!doctype html>

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

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


person Morgan Cheng    schedule 09.05.2011    source источник


Ответы (1)


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

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

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

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

person Spudley    schedule 09.05.2011