HTML5 обратно совместим с XHTML? - PullRequest
9 голосов
/ 17 мая 2011

Короткий вопрос: Могу ли я изменить DOCTYPE моего существующего веб-сайта XHTML 1.0 на HTML5? Это вызовет какие-либо проблемы?

Длинная история:

У нас есть веб-сайт, написанный на веб-формах ASP.NET. Поскольку он довольно старый, по умолчанию для DOCTYPE установлено значение XHTML (по умолчанию для Visual Studio), и все элементы управления также отображают XHTML. Не очень правильно, но у нас не было проблем ни с одним браузером.

То есть до недавнего времени мы замечали странное поведение на разных машинах под IE. Оказывается, IE по умолчанию отображает сайты интрасети в «режиме совместимости», что приводит к поломке.

Теперь у меня есть два варианта. Я могу добавить:

<meta http-equiv="X-UA-Compatible" content="IE=edge" >

Или я могу добавить

<!DOCTYPE html>

Я бы предпочел маршрут DOCTYPE, поскольку он откроет двери для множества полезных функций HTML5. Однако мне интересно, не будет ли проблем с несовместимостью с существующим макетом XHTML.

Ответы [ 3 ]

5 голосов
/ 17 мая 2011

Прежде всего, IE действительно отображает сайты интрасети в режиме совместимости по умолчанию. Тем не менее, это настройка конфигурации, которую можно отключить: если это возможно, я бы предложил, чтобы первым решением было просто отключить эту настройку на всех компьютерах в вашей сети. (является ли это жизнеспособным решением, зависит от размера вашей сети, ваших групповых политик и от того, какие другие сайты интрасети будут затронуты)

Теперь, чтобы ответить на ваш вопрос.

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

Специально выбран тип документа HTML5, поскольку он работает с существующими браузерами, включая более старые версии IE. Вы должны иметь возможность поместить его на любую страницу, и он должен просто работать.

Чего он не сделает, так это никак не повлияет на переход IE в режим совместимости. Также не будет никакого другого doctype. Упомянутое вами решение X-UA-Compatible является решением этого (если вы не можете установить параметр конфигурации, о котором я упоминал ранее), и оно не связано с типом документа - оно вам все равно понадобится, даже если вы используете тип документа HTML5.

3 голосов
/ 17 мая 2011

Насколько я знаю, HTML5 - это в значительной степени xhtml плюс дополнительные функции, так что, да, я думаю, вы можете изменить тип документа, и он все равно будет работать. Они ответили здесь: Если я буду использовать тип документа HTML 5, что произойдет?

1 голос
/ 22 мая 2011

HTML5 был разработан для обратной совместимости как с HTML 4.01, так и с XHTML 1.0 / 1.1, так что предыдущие (X) HTML-страницы могли быть легко перенесены в HTML5. Конечно, они не будут использовать преимущества новых функций HTML5 (таких как новые теги), но они все равно будут технически верными HTML5.

...