Какой тип MIME мне следует использовать для обслуживания XHTML5 для IE7 и IE8? - PullRequest
3 голосов
/ 21 сентября 2010

Я хочу использовать XHTML5, но, по-видимому, два браузера не принимают тип MIME application/xhtml+xml. Я читал, что они примут text/xml (или application/xml не уверен), но это отчасти хакерское. Поэтому мне было интересно, стоит ли мне просто обслуживать HTML5 для IE7 и IE8?

Пожалуйста, не говорите о преимуществах XHTML и HTML. Я знаю.

Ответы [ 3 ]

2 голосов
/ 21 сентября 2010

XHTML 5 не является стандартом.XHTML 2 действительно предписывает новый тип документа, хотя XHTML 2 не поддерживается никакими современными браузерами (так как он в значительной степени незакончен).

HTML5Doctor рекомендует, чтобы при нацеливании на подход «XHTML5» просто использовать тип документа HTML5, которыйимеет смысл.Тип документа HTML5 совместим с IE7 / 8.

http://html5doctor.com/html-5-xml-xhtml-5/

Помните, что для правильного использования HTML5 в IE <9 необходимо включить HTML 5 shiv. </p>

http://ejohn.org/blog/html5-shiv/

Кроме того, с точки зрения типа MIME для XHTML5, вы ДОЛЖНЫ обслуживать контент с помощью application/xhtml+xml или application/xml, который более старая версия IE НЕ будет поддерживать.Таким образом, если вы пытаетесь придерживаться пуристического подхода, вы НЕ МОЖЕТЕ поддерживать IE 6/7.

2 голосов
/ 21 сентября 2010

Моя рекомендация по разделению на разницу:

  • На сервере используйте конвейер обработки на основе XML.
  • Но прямо перед вы отправляете тело ответа HTTP, преобразуете в сериализацию HTML5.
    • Это означает <!doctype html>, а не <?xml ...?> и не xmlns директивы.
  • Служите вашим страницам с Content-Type: text/html; charset=utf-8. (Измените значение параметра charset, если необходимо, но PUT ONE IN, или вы рискуете UTF-7 обманом .)
  • Не пытайтесь связать это с пользовательским агентом.

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

Обратите внимание, что вы можете напрямую встраивать SVG и MathML в HTML5 , даже если вы используете сериализацию HTML5 (элементы <svg> и <math> волшебны).

0 голосов
/ 21 сентября 2010

Это на самом деле не имеет значения, пока вы:

  • Используйте тот, который запускает режим стандартов
    • HTML 5
    • XHTML 1.0
    • HTML 4.01 Строгий ** HTML 4.01 Переходный (но не краткая форма, в которой пропущен URI)
  • Служит код, который соответствует DTD (это делает тестирование QA намного проще)
    • … или спецификации, если вы используете HTML 5 (поскольку DTD отсутствует)
  • Следуйте указаниям по совместимости, если вы подаете XHTML

Использование одного и того же Doctype обычно является хорошей идеей.

Работа в качестве application / xhtml + xml для некоторых браузеров и того же контента , что и для text / html других браузеров, - это, как правило, трата времени и усилий.

...