Firefox применяет стили к блоку скриптов - PullRequest
2 голосов
/ 14 июля 2010

Я упростил проблему, с которой я столкнулся в Firefox (исходный код генерируется элементами управления на стороне сервера). Откройте следующий фрагмент в IE и в Firefox:

<html>
<style>
    .AllInline, .AllInline * { display: inline; }
</style>
<span class="AllInline">
    Test
    <script type="text/javascript">
        <!-- var obj = {}; //-->
    </script>
</span>
</html>

В IE я получаю:
Тест
Находясь в Firefox, я получаю:
Тест <!-- var obj = {}; //-->

Содержимое блока скрипта становится каким-то образом видимым.

Я не ожидал, что правила стилевого оформления будут применены к блокам скрипта (на самом деле не могу понять причину, по которой это тоже нужно).

Будет ли у кого-нибудь объяснение?

Ответы [ 3 ]

1 голос
/ 20 января 2011
Теги

base, basefont, datalist, head, meta, script, style, title, noembed и param скрыты простым способом:установка display: none; в html.css (которая является таблицей стилей UA).Таким образом, они могут быть скрыты CSS-страницей, такой как ваш пример.area, с другой стороны, имеет display: none ! important;, поскольку имеет специальную внутреннюю обработку (изображение фактически владеет областью).

0 голосов
/ 15 июля 2010

увлекательная ошибка!

Вы можете добавить .AllInline script {display: none;} к вашему CSS, чтобы скрыть его.

0 голосов
/ 14 июля 2010

Не размещайте JavaScript там.Вставьте его непосредственно перед </body></html>.

Проверьте свой HTMl в Echochamber .

...