Краткий курс HTML 5
18. Обратная совместимость
Благодаря реализованному в HTML 5 механизму представлений, проблему совместимости этого стандарта с его предыдущими версиями можно считать в целом решенной. Однако на момент создания курса он еще не достиг статуса официально рекомендованного языка и поддерживается в полной мере только немногими браузерами. Поэтому актуальным вопросом является отображение документов, сверстанных по стандарту HTML 5, в тех браузерах, которые не обеспечивают его стопроцентную поддержку, особенно в Internet Explorer до 9-й версии.
Сообщаем IE о новых тегах
Реми Шарпом (Remy Sharp) был разработан небольшой скрипт, решающий проблему отображения новых элементов в Internet Explorer. Его можно скачать по этой ссылке или подключить к документу прямо с сервера Google. Для этого разместите следующий код внутри элемента
<head>
(это необходимо, чтобы IE уже «знал» о новых элементах до того, как встретит их на странице):<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]-->
Конструкция
<!--[if lt IE 9]>
работает только в Internet Explorer до 9-й версии, остальные браузеры примут ее за обычный комментарий и не станут подключать скрипт. В данном случае это и требуется, поскольку другие браузеры способны отображать даже содержимое тегов, которые они не «понимают».Делаем новые элементы блочными
Следующим шагом будет подключение к документу инструкций CSS, которые сделают неизвестные браузеру блочные элементы действительно блочными. Добавьте следующую строку в подключенный CSS файл или непосредственно в элемент
<style>
, располагаемый в заголовке документе:article, aside, footer, header, nav, section {display: block}
Отказываемся от устаревших тегов
Тем из вас, кто уже знаком с HTML 4, теперь придется забыть о следующих тегах:
<acronym>
,<applet>
,<basefont>
,<big>
,<center>
,<dir>
,<font>
,<frame>
,<frameset>
,<noframes>
,<strike>
,<tt>
и<xmp>
. Все они считаются устаревшими и не поддерживаются в HTML 5. Их применение не должно привести к неправильному отображению документа, однако строго не рекомендуется.Во многих тегах изменился список поддерживаемых атрибутов. Подробнее о каждом из них написано в соответствующих главах этого курса.
Применение новых API и методов DOM
В стандарте HTML 5 появился целый ряд API, использование которых может привести к ошибкам в браузерах, которые их не поддерживают. Сюда входят 2D drawing API для рисования в объекте
<canvas>
, API проигрывателей<audio>
и<video>
, Editing API и Drag&drop API для элементов с атрибутамиcontenteditable
иdraggable
, а также некоторые другие.В интерфейсе
HTMLDocument
появились новые методы:getElementsByClassName()
,activeElement()
,hasFocus()
,getSelection()
и другие. Не обошли стороной иHTMLElement
, однако подробное рассмотрение API и DOM не входит в задачи этого курса. Стоит лишь отметить, что использовать эти нововведения нужно аккуратно, по возможности создавая функции заменяемыми и не критичными для работоспособности веб-приложений.
2 комментария
Алексей
Алексей @ 31 января 2013
Емко, лаконично, очень полезно!
Kuiper @ 9 августа 2018