Заставить браузер игнорировать функции HTML 5 - PullRequest
3 голосов
/ 16 января 2012

У меня есть устаревший веб-сайт, который корректно отображается в FF 3.6, IE 7–8 и т. Д., Но не работает в FF 9.

Проблема заключается в том, что старая (до HTML 5) сторонняя JS-инфраструктура (Woodstock), используемая сайтом, добавляет атрибут HIDDEN к некоторым элементам HTML, поэтому, когда я смотрю на HTML в firebug, я вижу код:

<table id="foo" hidden="">

Эти страницы обслуживаются с:

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

Это хорошо работало в браузерах, разработанных для HTML 4, которые не имели атрибута HIDDEN. Но последние браузеры, поддерживающие HTML 5, интерпретируют этот атрибут и скрывают элементы, которые мне нужны, чтобы они были видны.

Будет очень трудно изменить (неподдерживаемую) стороннюю платформу, чтобы избежать использования атрибута HIDDEN.

Можно ли заставить браузеры отображать страницы, как если бы они были HTML 4, и не интерпретировать особенности HTML 5? Другие предложения приветствуются ...

Ответы [ 2 ]

6 голосов
/ 16 января 2012

Браузеры, отличные от IE, просто реализуют один HTML (ну, за исключением режима причуд).

Однако все атрибут hidden запускает некоторые правила стилей в таблице стилей UA.Вы можете добавить свои собственные правила стиля, чтобы просто переопределить их.Насколько сложными должны быть эти правила, зависит от того, к каким элементам фреймворк добавляет элементы, но один комплексный подход заключается в копировании различных правил display из спецификации HTML5 или http://mxr.mozilla.org/mozilla-central/source/layout/style/html.css, за исключениемс участием hidden и просто поместите их в таблицу стилей, на которую ссылается ваша страница.

2 голосов
/ 16 января 2012

Да, вы должны указывать правильный DOCTYPE. Если это действительно HTML4, вы должны объявить его как HTML4, а не XHTML.

См. http://www.w3.org/QA/2002/04/valid-dtd-list.html для различных типов, которые вы можете использовать.

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