Можете ли вы использовать функции HTML5 без объявления HTML5 DOCTYPE? - PullRequest
8 голосов
/ 30 августа 2011

Так, например, если мой документ HTML не объявляет тип документа HTML5, но я использую что-то в спецификации HTML5, это все еще будет работать?Это вызывает проблемы для некоторых браузеров?Будет ли документ еще подтвержден?

Ответы [ 3 ]

10 голосов
/ 30 августа 2011

Зависит от целевых браузеров.Webkit-браузеры, Firefox и Opera будут обрабатывать элементы HTML5 вполне нормально, даже если ваш тип документа не является HTML5.

IE9, с другой стороны (я уверен, вы видели это в будущем), может вести себя совершенно по-другому на типе документа другого типа.,Если IE9 не находится в режиме стандартов IE9 (это может быть причудой, совместимостью с IE8 и т. Д.), Он будет не поддерживать функции HTML5, которые он поддерживает в стандартах IE9.

Так что, по сути, ваш основнойВы должны убедиться, что все браузеры переходят в режим строгих стандартов.Самый простой способ добиться этого - использовать тип документа HTML5, поскольку он будет запускать режим стандартов во всех браузерах - , включая старых браузеров, которые фактически не поддерживают HTML5.

1 голос
/ 30 августа 2011

Да, вы можете, однако, это не будет проверять и, возможно, выглядит странно в некоторых или во всех браузерах. Ты не должен этого делать. Если вы используете HTML5, объявите правильный тип документа: <!doctype html>.

В спецификациях HTML5 говорится, что тип документа не является обязательным, однако пока в браузере не реализовано это правило. Теоретически, вы должны быть в состоянии сделать это без каких-либо проблем.

0 голосов
/ 30 августа 2011

Можно, но поведение будет неопределенным.Это означает, что ваши результаты могут быть [еще более] несовместимыми в разных браузерах, и что в некоторых случаях они могут потерпеть неудачу по неизвестным причинам.

Это определенно не будет подтверждено, и это определенно не то, что вы должны делать.

...