IE6 меняет DOCTYPE на плохой - PullRequest
       2

IE6 меняет DOCTYPE на плохой

2 голосов
/ 11 января 2011

Я работаю с сайтом, который определил следующее DOCTYPE:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Когда я захожу на этот сайт в IE6, DOCTYPE волшебным образом изменяется на:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">

И .. Хорошо - это может остаться, потому что все выглядит хорошо .. Но вот в чем дело - только одна страница изменила DOCTYPE на:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

которого я терпеть не могу.

В чем причина изменения XHTML на HTML 4.01 и HTML 4.0?

Как заставить DOCTYPE в IE6 до XHTML или просто HTML 4.01?

Ответы [ 3 ]

1 голос
/ 13 января 2011

Причина была неожиданной:

HTML-комментарий перед тегом <html> вызывает автоматическое изменение типа документа страницы.

0 голосов
/ 11 января 2011

Единственное, что делает doctype, это заставляет браузер переходить в режим соответствия стандартам.Если у вас нет doctype, старые браузеры перейдут в режим Quirks;с типом документа (независимо от того, какой из них вы используете) браузер перейдет в режим стандартов.

Поэтому действительно не имеет значения, какой из них вы используете.

Типы документов XHTML попытаютсяобеспечить соблюдение XHTML, но, очевидно, только в браузерах, которые должным образом поддерживают XHTML - IE6 может быть проблематичным.И, конечно, указание XHTML означает, что нет места для каких-либо ошибок вообще, или ваша страница не будет отображаться.

Кроме этого, на самом деле нет большого выбора между различнымиdoctypes, поэтому я предлагаю выбрать наиболее актуальную из возможных .... это тип документа HTML5.

Тип документа HTML5 выглядит следующим образом:

<!DOCTYPE html>

Это все.Коротко, просто и по существу.И он работает для всех текущих браузеров (включая IE6).

Это не означает, что вам нужно использовать какие-либо функции HTML5 (они, очевидно, не будут работать в IE6), но он полностью обратно совместим, ине должен давать вам какие-то странные специфичные для браузера глюки, которые вы получаете с другими типами документов.

Надеюсь, это поможет.

0 голосов
/ 11 января 2011

Браузер отображает только страницы и никогда не изменяет исходную страницу.

Единственный способ, которым ваш вопрос имеет смысл, - это если вы делаете «сохранить страницу как» и задаетесь вопросом, почему страница, которую IE сохранил, не совпадает со страницей, которую он загрузил. В этом случае я ожидаю, что браузер преобразует страницу в своего рода внутреннее представление, чтобы упростить обработку, а «сохранить страницу как» преобразует это внутреннее представление обратно в HTML; чтобы он мог сохранить один файл (например, со встроенным CSS, а не отдельным файлом CSS), убедиться, что сохраненный файл имеет правильную разметку (а не исходную потенциально не исправленную разметку) и т. д.

Если это не то, что вам нужно, перейдите в «просмотр -> источник страницы» и скопируйте и вставьте вместо этого.

...