#html #firefox #xhtml
#HTML #firefox #xhtml
Вопрос:
Итак, у меня есть сайт, где есть много мест, где html-комментарии записываются как
Я заметил, что когда вы пишете:
<div>hello</div>
<!-- COMMENT --------------- //-->
<div>hello2</div>
Отображается только hello2. Если вы не вводите тире в конце:
<div>hello3</div>
<!-- COMMENT --------------- -->
<div>hello4</div>
затем печатаются как hello3, так и hello4. Теперь, есть ли у меня способ заставить это работать так, как предполагается, не просматривая весь сайт и не изменяя все комментарии?
Кстати, он отлично отображается во всех браузерах, включая Firefox 4 и даже IE. Проблема возникает только в FF 3.6
Комментарии:
1. Я понимаю, что то, что у вас есть, ДОЛЖНО работать, однако вам следует научиться не использовать символ, специфичный для синтаксиса комментария, такой как ваш ‘-‘, для применения интервалов и форматирования к вашим комментариям. Вместо этого используйте символ типа ‘#’ или что-то в этомроде.
2. Не могли бы вы, пожалуйста, определить, какова ваша цель?
Ответ №1:
Комментарий начинается и заканчивается последовательностью --
.
<!-- COMMENT --------------- //-->
означает:
- начать комментировать
- Космос
- Комментарий
- Космос
- завершить комментарий
- начать комментировать
- завершить комментарий
- начать комментировать
- завершить комментарий
- начать комментировать
- завершить комментарий
- тире, пробел, косая черта (вне комментария!)
- начать комментировать
Есть причина, по которой в спецификации HTML говорится:
Распространенной ошибкой является включение строки дефисов («—«) в комментарий. Авторам следует избегать размещения двух или более смежных дефисов внутри комментариев.
Теперь, есть ли у меня способ заставить это работать так, как предполагается, не просматривая весь сайт и не изменяя все комментарии?
Нет.
Кстати, он отлично отображается во всех браузерах, включая Firefox 4 и даже IE. Проблема возникает только в FF 3.6
Слишком много плохих авторов, зависящих от ошибок в неправильной обработке комментариев некоторыми браузерами, привели к тому, что производители браузеров отказались от попыток правильно реализовать комментарии.
Mozilla не сдавалась до выпуска Firefox 3.6
Комментарии:
1. Действительно забавный аспект этого — попытка напечатать информацию об отладке в HTML-комментариях или прокомментировать результаты пользовательской разметки. Вы должны запустить специальную экранирующую функцию над текстом, чтобы убедиться, что он не содержит — pairs .
Ответ №2:
Такое использование тире в HTML-комментариях приводит к непредсказуемому поведению. Смотрите https://bugzilla.mozilla.org/show_bug.cgi?id=2749 для получения дополнительной информации о различиях в синтаксическом анализе HTML-комментариев. (Источник http://www.hixie.ch/tests/evil/mixed/comments-evil.html очень хороший пример)
Я рекомендую использовать какой-нибудь серверный скрипт или функцию поиска и замены в вашем текстовом редакторе, чтобы заменить тире в комментариях знаками равенства или другим символом.