Страницы: 1
может это и проскакивало, но все равно
"<!-- --------------------------------------------------------------------------- -->"
фф 1.5.0.4 не опознает это как открывающийся-и-сразу-закрывающийся комментарий, не видет конца и комментит полностью все что дальше за ним
Добавлено Втр 18 Июл 2006 15:58:32 :
вот рабочий кусок кода где был обнаружен баг
<!-- table ifolders edit -->
...
<!-- / table ifolders edit -->
<!-- --------------------------------------------------------------------------- -->
<!-- table ifolders view -->
...
<!-- / table ifolders view -->
Отсутствует
Всё он видит, всё выводит. Никаких проблем.
Русский человек может pешить любую пpоблему, если конечно не будет задаваться вопpосом "А зачем?"
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5 ID:2006071912
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5 ID:2006071912
Отсутствует
вот тебе полный хтмл код страницыъ
проблемы ЕСТЬ
(fixed) http://paste.sleazysoft.com/?id=20
скопируй код, открой в эксплорере хотябы в 6ом и в фф 1.5.0.4
Отредактировано SniXx (18-07-2006 16:43:31)
Отсутствует
Спецификация HTML 4.01
Рекомендации W3C от 24 декабря 1999 года
3.2.4 Комментарии
Комментарии HTML имеют следующий синтаксис:
<!-- это комментарий -->
<!-- и это тоже комментарий,
занимающий более одной строки -->Не допускаются пробелы между открывающим ограничителем объявления разметки ("<!") и открывающим ограничителем комментария ("--"), но разрешаются между закрывающим ограничителем комментария ("--") и закрывающим ограничителем объявления разметки (">"). Обычная ошибка - включение внутрь комментария строки ("---"). Авторы должны исключить использование внутри комментариев двух или более смежных дефисов.
Отредактировано rowlad (18-07-2006 16:43:44)
Русский человек может pешить любую пpоблему, если конечно не будет задаваться вопpосом "А зачем?"
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5 ID:2006071912
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5 ID:2006071912
Отсутствует
При удалении из шапки строки соответствия HTML4.01 проблема исчезает, но грамотнее не ставить так комментарии (согласно спецификации). Лис делает всё в строгом соответствии с рекомендациями W3C, а на осла равняться не стоит.
Русский человек может pешить любую пpоблему, если конечно не будет задаваться вопpосом "А зачем?"
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5 ID:2006071912
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5 ID:2006071912
Отсутствует
подчеркиваю, что другие браузеры не позволяют себе скрывать неивезстно сколько кода из-за череды тире в комметариях
ладно тему можно закрывать
Отредактировано SniXx (18-07-2006 16:53:23)
Отсутствует
SniXx
Просто разный алгоритм разборки кода. Gecko видимо чувствителен именно к парным дефисам. А спецификация это то, что удерживает нас от виртуального Вавилона. Дай волю отдельным компаниям разработчикам и сайты можно будет смотреть вообще только в из браузерах. Тот же IE в упор не чувствителен к :hover в любых элементах, кроме "a", а это попротивнее для разработчика, нежели невозможность комента, о которой ещё 6 лет назад предупредили, причём не в качестве рекомендации, а данный вариант указан именно, как невозможный/неправильный.
Русский человек может pешить любую пpоблему, если конечно не будет задаваться вопpосом "А зачем?"
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5 ID:2006071912
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5 ID:2006071912
Отсутствует
подчеркиваю, что другие браузеры не позволяют себе скрывать неивезстно сколько кода из-за череды тире в комметариях
Другие браузеры позволяют себе скрывать код в других случаях. Просто при отладке часто смотрят только на Експлорер, и если верстка не проходит, выкидывают верстку. Это Эксплорер мастер скрывать часть контента в блоке, если там есть ссылки, или неверно высчитывать ширину блока, например, с курсивом, в результате чего основная часть страницы проваливается под меню. И это уже ни в каких спецификациях не прописано. Всегда можно найти какую-нибудь кривую верстку, которая плохо отображается в браузере и недоумевать, почему он так строг? Не закрывать угловые скобки тэгов, кавычки, некорректно вкладывать тэги, пытаться выделить жирным часть содержимого альт-атрибута, писать nbsp; без начального амперсанда, а потом удивляться, почему все это вылезает на странице?
Отсутствует
Al_H
Рассмотренный выше случай только в очередной раз подтвердил точное соответствие Gecko спецификации W3C. Без объявления в заголовке спецификации, он ведёт себя, в плане подобных комментариев, также, как и остальные, т.е. всё выводит. А вот если косяк в коде, а заявлено соответствие, то будьте любезны...
Всё-таки в Gecko есть что-то такое, что реально привлекает.
Русский человек может pешить любую пpоблему, если конечно не будет задаваться вопpосом "А зачем?"
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5 ID:2006071912
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5 ID:2006071912
Отсутствует
Всё-таки в Gecko есть что-то такое, что реально привлекает.
Когда программа работает по стандартам — это не может не радовать.
Меня просто бесит «баг» в MySQL — если сервер под виндой, то она разрешает любой регистр в имени полей и таблиц в SQL запросах. А в юнихах должно сответствовать. Постоянно где-то ошибаешься в регистре и получаются ошибки… Вот что ей мешает под виндой тоже различать регистр?
Молиться надо на такие программы. Если постоянно забивать на стандарты, будем иметь то, что имеем сейчас в HTML — каждый браузер показывает по своему
Black holes were created when the God divided by zero.
Отсутствует
LattyF
Касательно регистра есть одно универсальное решение - вообще всё в ловеркейсе печатать. Вначале напрягает, но потом рулит, чесс.слово. (у самого апач с мускулом на окошках стоит)
Русский человек может pешить любую пpоблему, если конечно не будет задаваться вопpосом "А зачем?"
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5 ID:2006071912
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5 ID:2006071912
Отсутствует
Вот что ей мешает под виндой тоже различать регистр?
Поддерживаю
Рассмотренный выше случай только в очередной раз подтвердил точное соответствие Gecko спецификации W3C.
Насчет соответствия пока рано говорить, хотя в плане соответствия (а не поддержки) заметно обгоняет второй браузер с лучшей поддержкой, Opera 9, не говоря уже о Конквероре, и тем более обо всех остальных браузерах, которые отстают от Файрфокса и Оперы весьма ощутимо. Просто это вполне понятное поведение. И тем более нечему возмущаться, если в Quirks-режиме такие комментарии воспринимаются. Как-то странно что человек хочет одновременно и ставить режим строгого соответствия стандартам, и верстать не по стандартам. Мы во всех проектах ставим режим совместимости - просто потому хотя бы, что клиент через систему управления такого может на сайте навертеть...
Отсутствует
если коммент неправильный, то браузер должен отображать это как часть видимого контента страницы, а не начинать обработку комментария и комментировать в хаотическом порядке все подряд
где проверка валидности комментариев перед обработкой? )) или вы скажете что проверять исходные данные на валидность ненадо?
Добавлено Срд 19 Июл 2006 12:54:34 :
у вас тут всегда такой оффтопик чтобы набить кол-во сообщений?
Отсутствует
SniXx
если коммент неправильный, то браузер должен отображать это как часть видимого контента страницы, а не начинать обработку комментария и комментировать в хаотическом порядке все подряд
он (браузер) ничего не должен. перерыл спецификацию, но про подобную модель поведения при разборе кода ПА ничего не нашёл. есть простой до банальности способ избегать подобных траблов - либо не объявлять строгой спецификации (или вообще ничего не объявлять, что честнее), либо просто грамотно писать код.
Отредактировано rowlad (19-07-2006 13:47:51)
Русский человек может pешить любую пpоблему, если конечно не будет задаваться вопpосом "А зачем?"
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5 ID:2006071912
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5 ID:2006071912
Отсутствует
rowlad, браузер прежде всего ПО, а при разработке ПО учитываются свои нормы и спецификации, так вот подумай, нужно ли проверять входные данные перед их подачей на какой нибудь модуль и нужно ли обрабатывать исключительные ситуации, когда входные данные не соотвествуют нормам для своего типа данных?
Добавлено Срд 19 Июл 2006 14:31:34 :
да и еще, я выделил жирным шрифтом то, что хотел пояснить в своем предыдущем сообщении
Отсутствует
Пользовательский агент HTML
Пользовательский агент (ПА) HTML - любое устройство, интерпретирующее документ HTML. Пользовательские агенты: визуальные браузеры(программы просмотра: Netscape Navigator, Internet Explorer), текстовые и графические, невизуальные браузеры (audio, по Брайлю), поисковые машины, proxies, и т.п.
так вот при разработке ПА, т.е. браузера, прежде всего учитываются требования спецификаций SGML языков, тексты которых ему предстоит интерпретировать для визуального вывода
в спецификации HTML4.01, соответствие которой было объявлено в шапке представленного документа, вполне понятно сказано, что "Авторы должны исключить использование внутри комментариев двух или более смежных дефисов", т.е. это не является даже случаем не рекомендуемого или устаревшего применения каких-либо элементов. Это просто нарушение в чистом виде. А то, что другие ПА проглатывают подобный вариант кода говорит скорее о том, что они менее точно следуют рекомендациям.
Повторюсь, если убрать привязку к спецификации из шапки документа, лис также будет выводить весь фрагмент, как и другие ПА.
Русский человек может pешить любую пpоблему, если конечно не будет задаваться вопpосом "А зачем?"
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5 ID:2006071912
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.5) Gecko/20060719 Thunderbird/1.5.0.5 ID:2006071912
Отсутствует
К счастью, в браузеры до сих пор не встроили телепатический модуль. У Вас есть много кода. Вы хотите его весь скрыть, или комментарий, который Вы написали, вообще не должен срабатывать? Браузер не знает. То, что на странице, поехало, или это особенности дизайна? Блоки должны наезжать друг на друга, или это ошибка? Браузер не знает.
Единственный способ точно знать, что в таком случае сделал бы Експлорер - использовать его движок. Но вот незадача, а что если страница сверстана по стандартам? В этом случае ее нужно распарсивать Гекковским движком. А если она сделана с учетом разных браузеров? А если она едет везде, но в Експлорере - немного больше?
Единственное решение, существующее в этом направлении - переключение режима отображения страницы через !DOCTYPE
Отсутствует
Страницы: 1