Отключить допуск (или включить строгость) в Firefox при рендеринге HTML - PullRequest
5 голосов
/ 10 марта 2012

Firefox имеет определенную терпимость при рендеринге плохого HTML. Это означает, что даже если закрывающий тег пропущен, HTML будет отображаться так, как будто все в порядке. Этот аспект толерантности особенно актуален, когда кто-то использует JavaScript для манипулирования или добавления контента на текущей странице.

Поскольку я использую Firefox в качестве основного браузера для тестирования / разработки, меня не раз беспокоило такое поведение, следствием которого является потеря функциональности в «более строгих» браузерах. Например, один и тот же код в Microsoft Internet Explorer не смог создать какой-либо видимый вывод из-за упомянутого отсутствующего тега в добавленном контенте.

Теперь вопрос в том, есть ли способ сказать Firefox, что он должен быть более строгим в отношении принятого HTML и потерпеть неудачу вместо того, чтобы «угадать исправление» для него (особенно, когда HTML добавляется через JavaScript)?

PS: я пытался играть с DOCTYPE, но результаты были такими же.

Ответы [ 3 ]

2 голосов
/ 10 марта 2012

Не используйте браузеры для проверки вашего HTML; они очень не предназначены для этого. Используйте фактический валидатор, такой как валидатор W3C . кажется множеством расширений Firefox, которые будут проверять страницу одним кликом или автоматически, хотя я не знаком с ними, поскольку не использую Firefox в качестве основного браузера.

1 голос
/ 10 марта 2012

Все парсеры в некоторой степени прощают. У большинства основных сайтов есть ошибки (не то, что это делает это извиняющим, просто говоря). Если вы разрабатываете с подключенным отладчиком, вы будете обнаруживать ошибки скрипта намного быстрее. Я также улавливаю ошибки сценариев, используя минификатор в процессе сборки (который не работает при основных проблемах синтаксиса). Я проверяю свою HTML-разметку, используя предупреждения в реальном времени Visual Studio 2010 (которые не всегда идеальны), и периодически использую службу проверки w3.

По выбору браузера я обычно разрабатываю по всем направлениям; за один присест я буквально могу переключаться между режимами IE7 / 8/9, Chrome и Firefox. Safari и Opera обычно работают, если вышеупомянутые браузеры включены. Таким образом, я не пойду слишком далеко по ошибочному пути.

Кстати, DOCTYPE важно (даже если это не всегда так).

1 голос
/ 10 марта 2012

Я обнаружил, что лучше всего просто сломаться и выполнить основную работу в IE.

Если вы используете хороший тип документа (<! DOCTYPE html>) и переводите заголовок, совместимый с x-ua, в режим IE8, вам придется выполнить дополнительную работу, чтобы приложение работало / выглядело хорошо в других браузерахминимально.

...