Гарантируют ли HTML-типы документов формальный анализ? - PullRequest
2 голосов
/ 26 мая 2011

Гарантируют ли HTML-типы документов формальный анализ?

Например, если я использую определенный тип документа, а затем создаю действительно плохой HTML, заставит ли браузер вернуться в режим Quirks или гарантирует синтаксический анализ до типа документа?

РЕДАКТИРОВАТЬ: Это также включает в себя поведение CSS.

Ответы [ 2 ]

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

Гарантируют ли HTML-типы документов формальный анализ?

Нет.

Вам будет сложно найти браузер, который будет анализировать с использованием правил SGML при любых обстоятельствах.

XHTML Content-type заставит некоторые браузеры анализировать с использованием правил XML.

Большинство браузеров будут использовать свой собственный анализатор тегов или алгоритм HTML 5 для любого текста/ html document.

Например, если я использую определенный тип документа, а затем создаю действительно плохой HTML, заставит ли браузер вернуться в режим Quirks или гарантирует разбор до типа документа?

Режим Quirks имеет очень мало общего с анализом.Это в основном о том, как CSS интерпретируется.

Выбор между режимами Quirks / Standards / Почти Standards / etc почти полностью обрабатывается Doctype.Исключения составляют MHE-тип XHTML (который переводит некоторые браузеры в стандартный режим, независимо от типа документа) и (в случае MSIE) HTTP-заголовки, совместимые с X-UA, и <meta> данные.

0 голосов
/ 26 мая 2011

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

Режим причуд не сводится к отображению HTML-кода плохого качества;он существует, потому что это был единственный режим рендеринга для более старых браузеров, таких как IE5, и когда появились более новые браузеры (IE6), они хотели поддерживать режим новых стандартов, но также должны были иметь обратную совместимость.

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

* 1006Сказав все это, если у вас HTML-код плохого качества, вам не будет важно, находитесь ли вы в стандартном режиме или в режиме причуда - браузеру все равно придется решить, что делать с вашим супом-тегом.и вы, вероятно, получите разные результаты в разных браузерах, независимо от режима рендеринга.
...