Могу ли я получить документ XHTML с объявлением XML в стандартном режиме для IE6?

Я читал об этом последние полчаса, и вот что я понял:

IE 6 будет отображать страницу в стандартном режиме, если есть действительный DTD, но не если над DTD есть какие-либо комментарии.

Объявление XML — это комментарий, который идет выше DTD.

Если XML-декларация заключена в условный комментарий, страница будет отображаться в IE 6 в необычном режиме, но будет недопустимым XHTML.

Существуют ли какие-либо обходные пути для получения действительного XHTML с объявлением XML для отображения в стандартном режиме в IE6? Если нет, то каковы недостатки полного удаления объявления XML?

Спасибо.


person user225643    schedule 22.03.2010    source источник


Ответы (3)


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

вы не можете использовать xhtml1.1 с xml в IE 6, потому что тип содержимого требует, чтобы он отображался как xml. то есть Content-Type: application/xhtml+xml, который умирает в IE.

вы должны использовать xhtml 1.0 только с типом документа и отправлять тип контента как text/html.

person michael herndon    schedule 22.03.2010

Удалите декларацию XML, это не является строго необходимым и заставляет IE6 отображаться в режиме причуд. Вам следует использовать XHTML 1.0, который позволяет отображать документы как text/html для обратной совместимости с HTML 4.01.

person kevinji    schedule 28.03.2011

Единственный способ использовать декларацию XML в стандартном режиме — преобразовать ее с помощью таблицы стилей XSLT. .

person Paul Sweatte    schedule 07.08.2012