Как стать автором
Обновить

Комментарии 136

все не осилил :(

на опере с 6 версии.

отдельное спасибо за родное управление мышью.
Признайся, ты просто хотел запостить невтемный оперофагный комментарий первым.
да-да, в точку!
Ам! Я съел твою хабрасилу.
Очень интересный материал. Единственно, хотелось бы более подробное освещение деталей реализации. Из текста понятно, что исправления делаются для определенных сайтов, а ведь сайтов миллионы, а ошибок, которые на них допускают разнообразны и их еще больше. Так с чем же именно борются с помощью browser.js?
По тексту сказано, что в базе данных «кривых» сайтов более 600 записей. Вот вам и приблизительный порядок цифр, сколько веб-сайтов в мире действительно криво отображается в Opera ;)
600 — это как-то мало. Я думаю, что речь идёт о 600, известных разработчикам, популярных сайтах, которые очень плохо работают или не работают вообще.
В разной степени криво отображаются ещё тысячи других.
Что значит вообще не работают? Посмотрите список сайтов, кстати приведённый в статье, и посмотрите какие исправления вносит браузер для их корректного отображения.
А то что тысячи других криво отображаются, всё-таки проблемы веб-мастеров. По большому счёту и эти 600 сайтов не должны исправляться, раз неправильно сделаны. Но Opera и тут идёт на встречу пользователям.
Я поправил Илью (хотя, может он пошутил — там подмигивающая рожица в конце), что цифра 600 — это какие-то довольно важные исправления, раз были включены в browser.js, а не киска, появляющаяся в неправильном месте (несмотря на то, что это ошибка Оперы).
я тоже считаю, что стандарты надо соблюдать, для того чтобы видеть есть валидатор в виде плагина, например, к фаерфоксу. и именно потому я забросил в свое время пользоваться оперой, что часто некорретно отображались сайты, причем не всегда в связи с кривой версткой(во всяком случае раньше, давно не смотрел, но говорят ситуация та же). Если хочешь вносить свою лепту в поддержку стандартов — пожалуйста, но это несколько станно, что делают это таким способом. Потому как в результате получается, что оперой неудобно пользоваться, в отличие например от фаерфокса в виду неотображения некоторых страниц и это все сводят как огрехи разработчиков, а не как поддержку стандартов. В результате — меньшее количество народу использует этот браузер. Жесткое соответствие одним веб стандартам было бы хорошо, если бы все и сразу стали этим заниматься. А так… общий стереотип сложился не в пользу оперы.
немного очепяток, жаль не поправить… до сих пор удивляюсь, почему не ввести эдит комментов, хотябы первые 5 минут после постинга.:)
Как вы в таком случае видите популяризацию и развитие стандартов?

P.S. А в Opera, чтобы отправить страницу на валидацию, достаточно нажать Ctrl+Shift+Alt+U и никаких плагинов не нужно. Да, это дольше получается, чем HTML Validator в FF, но тот, в свою очередь, не всегда правильно анализирует страницы.
Мда? На главной странице W3C висит рекомендация — пользуйтесь Tidy www.w3.org/People/Raggett/tidy/ Тот что встроен в плагин FF
Да не в Норвегии живем. Хреново со связью в нашем отечестве.

>не всегда правильно анализирует страницы.
Пока что я встречал только обратный случай — Tidy более строг по части warnings чем W3C. Например его тошнит из-за отсутствия summary в таблицах или пустых строчных элементов. Но уж если Tidy дал зеленый свет — то все ок.
Гм, есть тут какое-то несоответствие. К примеру, не так давно мне пришла жалоба от пользователя, что в Opera не отображается страница www.kubuntu.org/getkubuntu (сейчас поправили — всё работает). При этом в других браузерах страница отображалась отлично (Firefox, IE, etc). Начали разбираться. Оказалось, что веб-дизайнеры забыли (!) закрыть тэг-ссылку в заголовке «Latest update: 9.04 Beta ready for testing». Естественно, таких ляпов Opera не прощает и просто не показывает всё содержимое страницы, что практически вошло в незакрытую тэгом область.

Но возникает вопрос: а почему Firefox пошёл на поводу у разгильдяев и «проглотил» этот грубейший баг веб-кодинга? И если бы не Opera, то сколько времени этот баг имел бы место быть и, возможно, продолжал бы вершить каверзы в самых непредсказуемых местах?
Простите, но речь идет о валидации двумя разными способами через w3c-online и tidy-offline. Какой из двух пропустил незакрытый тег???
Я проверял валидатором, встроенным в Quanta (т.е. — Tidy). Но вопрос не о том, какой валидатор пропустил, а о том, что Firefox, как браузер, пропустил этот баг. Уверен, что и валидатор W3C отработал бы эту ошибку без проблем. Отсюда можно сделать вывод, что валидатор, встроенный в Firefox, и собственно движок Firefox — это две большие разницы.
К сожалению не могу проверить вашу гипотезу. Т.к. не пользуюсь Quanta. Но никогда не встречал чтобы tidy (куда бы он не был встроен) пропускал битый тег. Никогда. Поэтому не склонен вам верить. Совсем.

Но если вас интересует мнение относительно лояльности броузера к ошибкам, то таки я скажу свое мнение. Броузер — это не валидатор, как утверждает Тема Лебедев. Это средство для просмотра сайтов. Поэтому ошибкой было бы затачивать броузер как средство борьбы с нерадивыми верстальщиками или дурным софтом. То что разработчики оперы очень любят стандарты и боятся уйти от них на шаг в сторону давно приводили их к потерям. Google- сервисы, построенные на Ajax и designMode — тому пример. Об этом кто-то отписался выше.
«К сожалению не могу проверить вашу гипотезу. Т.к. не пользуюсь Quanta. Но никогда не встречал чтобы tidy (куда бы он не был встроен) пропускал битый тег. Никогда. Поэтому не склонен вам верить. Совсем.»

Ну дык, проверить ведь несложно. Вот мои браузеры:
Opera 9.64 Linux
Firefox 3.0.8 Linux
Konqueror 3.5.9
А вот тестовая страница с удалённым закрывающим тэгом:
ilya.homelinux.org/getkubuntu.html

Opera страницу не отображает, остальные два браузера — отображают.

Попробуйте сами открыть её же в своём Firefox.

«Поэтому ошибкой было бы затачивать броузер как средство борьбы с нерадивыми верстальщиками или дурным софтом. То что разработчики оперы очень любят стандарты и боятся уйти от них на шаг в сторону давно приводили их к потерям.»
А я могу сказать, что в краткосрочной перспективе такая принципиальность, может, и приводила к потерям, а в долгосрочной оказалась правильной — интернет меняется, причём — в лучшую сторону. И заслуга Opera в этом несомненно тоже есть. И то, что когда-то упустили, сейчас навёрстываем с лихвой.
>Ну дык, проверить ведь несложно.
Проверил конечно. Tidy FF осообщение о незакрытом теге дал. Tidy голый ошибку тоже обнаружил. Tidy встроенный в php ошибку тоже обнаружил. До кучи обнаружилось еще 48 предупреждений.
Т.ч. возможны два варианта — вы не проверяли документ, либо вы отключили warning, ну тогда вы сами себе злобный буратино.

Вы читать умеете? Мне всё равно, насколько точно определяет эту ошибку валидатор. Любой. Мне интересно, почему Firefox при наличии такого грубого косяка всё равно отображает страницу, тем самым вводя в заблуждение. Что за молчаливое потакание криворуким веб-дизайнерам?

Про 48 предупреждений уже обсудили — в отличие от Firefox, который показал лишь 48 предупреждений, W3C валидатор выдал 61 полноценную ошибку.

По поводу отключения чего-либо. Я для проверки использую Firefox, установленный по умолчанию в OpenSUSE. Расширений никаких нет, чистый браузер. Никаких дополнительных настроек не делал. Так что эксперимент чище некуда. Да даже и не в этом дело. Какая мне разница, находит валидатор или нет эту ошибку и как он её классифицирует (ошибка или предупреждение). Факт тот, что при реальном веб-сёрфинге обычных пользователей Firefox не обращает внимания на ошибку и отображает весь контент, тем самым нарушая, нивелируя стандарты. Почему так?
НЛО прилетело и опубликовало эту надпись здесь
Оформление слетело только в моём примере, т.к. он оторван от всего сайта и от соответствующих CSS таблиц. На оригинальном сайте при удалении закрывающего тэга страница отображается без косяков. Именно в этом и заключается введение в заблуждение: разработчики, пользователи думают, что страница без изъянов, раз браузер её отображает. А на самом деле присутствует вот такой грубый косяк. И я теперь не уверен, только ли такие косяки может «проглатывать» Firefox.
НЛО прилетело и опубликовало эту надпись здесь
Видимо, что незакрытые тэги следует закрывать ;)

Особенно учитывая, что валидаторы таки вылавливают это нарушение стандартов, хоть и классифицируют по-разному — ошибка и предупреждение.

Смею предположить, что Opera ориентируется на W3C, валидатор которого называет отсутствие закрывающего тэга ошибкой. Потому контент и обрезается.

В то же время, отношение к нерадивым веб-разработчикам у Firefox более либеральное, в связи с чем грубая ошибка превращается в лёгкий недочёт. И, естетсвенно, браузер не склонен из-за такого пустяка портить отношения со своим драгоценным пользователем и отображает всю страницу как ни в чём ни бывало.
НЛО прилетело и опубликовало эту надпись здесь
В смысле — как правильно? Пока тэг не закрыт — весь контент является частью текстового фрагмента, используемого для отображения ссылки в тексте документа.

Насколько я понимаю, дальше начинаются различия. В частности — в вопросе правомерности использования тэга DIV внутри ссылки. Opera это дело не позволяет, а Firefox вполне допускает. В результате Opera не отображает весь последующий контент страницы, т.к. он заключён в DIV'ы, что не соответствует правилу использования ссылок. Firefox же допускает такое использование DIV'ов внутри ссылки и отображает контент.

Как результат, Firefox отходит от общепринятых правил, в итоге «скрывает» более серьёзную ошибку в коде страницы. Opera относится более жёстко к порядку использования ссылок, в итоге позволяет сразу обнаружить «косяк».

Другими словами, отходя от стандартов (пусть даже из лучших побуждений), очень легко получить массу проблем с обнаружением действительно серьёзных ошибок.
НЛО прилетело и опубликовало эту надпись здесь
>Мне интересно, почему Firefox при наличии такого грубого косяка
>всё равно отображает страницу
Потому что разработчики позаботились об этом. Они смогли сделать сиистему устойчивую к ошибкам. И это хорошо.

>Что за молчаливое потакание криворуким веб-дизайнерам?
Для вас «потакание», для Мозиллы — лояльность, толерантность, терпимость, в общем human centerd technology. В России, это все ругательные слова (см «терпила» и «толераст»), на западе к этим понятиям другое отношение. Мне больше нравится западное понимание. А вам?

>то при реальном веб-сёрфинге обычных пользователей Firefox
> не обращает внимания на ошибку
Обычные пользователи идут в Сеть за контентом. И если броузер отдает контент он выполняет свою задачу. Если нет — не выполняет.

>в отличие от Firefox, который показал лишь 48 предупреждений, W3C валидатор выдал 61 полноценную ошибку.
Ругая криворуких веб-мастеров, вы сами пропагандируете криворукость. Самая большая ошибка начинающих программистов — игнорирование предупреждений.

Офтопик
Очень люблю Русский язык. Воистину он велик и могуч. Слово «ремонт» взятое в кавычки как у вас в заголовке в словарях арго означает — шантаж/ограбление/избиение гомосексуалиста. Для тех кто знаком с такими лингвистическими тонкостями заголовок носит любопытный подтекст, сопряженный именно с такими понятиями как «толерантность» и «терпимость»

«И кто говорит — плагиат, я говорю — традиция» © Мульт-опера «Вышел зайчик погулять».

www.youtube.com/watch?v=ye7ZqIJckx8
Что-то я не понимаю… Вроде текст про то что Опера старается исправлять ошибки «криворуких» А ваши ответы про то как это плохо. Налицо расхождение позций двух официальных представителей фирмы. Вы уж как нибудь там определитесь. А?
Firefox не исправляет ошибку, он её игнорирует. Иначе при сохранении страницы тэг был бы закрытым. Opera же добавляет «костыли» не по каждому случаю (и уж тем более не по такому разгильдяйскому), а лишь в особых случаях, когда по-другому проблему не решить на данный момент.

А вообще — пошёл флуд. Вы по вам одному понятным причинам не желаете понимать то, о чём я говорю. Не вижу смысла давать подробные пояснения ещё раз — всё уже сказано и определено.
>Попробуйте сами открыть её же в своём Firefox.
Он не мой. Он мозиллин. К тому же на моем компьютере всего два FF, три IE, Safari с Хромом и четыре Оперы.

>И заслуга Opera в этом несомненно тоже есть.
У нас с вами принципиально разные взгляды. Я считаю что Опера своей позицией неприятия всего что исходит от MS тормозила развитие основных технологий, которые реально изменили интернет — Ajax(iframe), designMode, XML/XSLT. Фишки придуманные в лаборатории Оперы в чем-то удобны, но принципиально не изменили WEB.
А то что все приходит к какому-то единому стандарту — естественный исторический процесс.
«Он не мой. Он мозиллин.»

Какое-то неадекватное восприятие моих ответов. Я подразумевал — ваш, который установлен в вашей системе.

«К тому же на моем компьютере всего два FF, три IE, Safari с Хромом и четыре Оперы.»

А вот мне интересно: вы можете написать, какие браузеры как справились с этой ошибкой? В плане отображения страницы, а не валидации, естественно.

«У нас с вами принципиально разные взгляды. Я считаю что Опера своей позицией неприятия всего что исходит от MS тормозила развитие основных технологий, которые реально изменили интернет — Ajax(iframe), designMode, XML/XSLT.»

Вы слишком плохо знаете историю. Точнее даже не саму историю, не её внешнее проявление, а ту невидимую борьбу, которую вели MS с конкурентами с помощью монопольного положения.

Вы что считаете, что вот MS такая хорошая, придумала новую технологию, опубликовала все спецификации и сказала всем остальным: во, смотрите, какую классную штуку сделали — давайте её пользовать все и делать интернет круче! А, типа, злобная Opera всё это не имплементировала и тем самым ставила палки в колёса развивающемуся интернету? Да фиг там. Особенно учитывая, что тот же XMLHttpRequest был придуман в MS ещё десять лет назад, и практически всё это время IE занимал более 90% рынка, а норвежский браузер по мировой статистике даже сейчас не превышает 5%. Так что не нужно валить на Opera. Вы просто плохо знаете MS.

Они никогда не раскрывали и не будут раскрывать разработанные внутри своей компании технологии, дающие хоть какое-то преимущество перед конкурентами. Причём, делают это наиболее мерзким способом: вместо того, чтобы получить патент и сказать — всё, больше никому не дадим, они наоборот имитируют весьма активную дружелюбность, даже какие-то спеки предлагают иногда. Только при этом, якобы давая всем остальным воспользоваться своими наработками, внутри IE реализуют эти же функции слегка по-другому. В итоге IE работает, а все остальные — нет. Точнее — остальные браузеры тоже работают, но у MS это происходит лучше, быстрее и с небольшим набором «бонусных» опций.

Не менее активны в MS и тогда, когда кто-то другой создаёт нечто интересное. Но тут тактика немного другая — называется «Embrace, extend and extinguish» ( ru.wikipedia.org/wiki/Embrace,_Extend,_and_Extinguish ). Почитайте об этом на досуге, очень познавательно.

«Фишки придуманные в лаборатории Оперы в чем-то удобны, но принципиально не изменили WEB.»

Вот вам ссылочка — посмотрите, в каком году и м каком месяце появлялись в Opera новые технологии, без которых сегодня уже просто невозможно представить веб-сёрфинг ( www.opera.com/docs/history/ ).

«А то что все приходит к какому-то единому стандарту — естественный исторический процесс.»

Это, знаете, из области рассуждений «Бытиё определяет сознание или сознание определяет бытиё».
>«Он не мой. Он мозиллин.»
> Какое-то неадекватное восприятие моих ответов. Я подразумевал >— ваш, который установлен в вашей системе.
Я же написал — у меня их десяток.

>Вы что считаете, что вот MS такая хорошая, А, типа, злобная Opera
Спецификация XML/XSLT была описана в середине 90х. И это была не спецификация MS. Тем не менее Опера реализовала ее с опозданием почти на десять лет по сравнению с MS. Не так ли?

>Вот вам ссылочка — посмотрите, в каком году и м каком месяце >появлялись в Opera новые технологии, без которых сегодня уже >просто невозможно представить веб-сёрфинг
Вы про серфинг, я про веб-технологии.

>Это, знаете, из области рассуждений
>«Бытиё определяет сознание или сознание определяет бытиё».
Ошибаетесь. Это закон перехода количества в качество.
«Спецификация XML/XSLT была описана в середине 90х. И это была не спецификация MS. Тем не менее Опера реализовала ее с опозданием почти на десять лет по сравнению с MS. Не так ли?»>/i>

Не так. Для начала по датам.
Спецификации XSL v1.0 были выпущены комитетом W3C 15 октября 2001 года, XSLT v1.0 — 16 ноября 1999 года.
Поддержка этих технологий в Opera появилась начиная с 9 версии — 20 июня 2006 года.

Далее. Одной из главных причин, почему Opera не торопилась встраивать поддержку этих технологий в ядро браузера — кросс-платформность Opera и фокусировка на мобильном рынке. Для мобильных устройств эти технологии не применяются — в силу аппаратных ограничений телефонов предпочтительней все операции по работе с контентом выполнять на стороне сервера, а в браузер уже передавать готовый результат.

И в-третьих, ещё раз повторю: обладая среднемировой рыночной долей мене 5 процентов, браузер Opera физически не мог тормозить развитие интернета. Вся ответственность ложится на тот браузер, который продолжительное время был монополистом — IE.

«Вы про серфинг, я про веб-технологии.»
А вы там просто не читаете Changelog'и. И, видимо, не в курсе, сколько народа из Opera Software работает исключительно над развитием и совершенствованием открытых стандартов.

Так, для справки — в создании CSS принимает участие Хокон Ли, MathML для CSS — Георгий Чавчанидзе, даже для XMLHttpRequest, утвердить который стандартом в MS не почесались, одним из главных редакторов является Анне ван Кестерен. И это только то, что на виду. На самом деле, если не ошибаюсь, не менее 15 человек получает зарплату в Opera Software, на полностью заняты созданием стандартов в W3C.
Вот видите насколько важно не делать ошибок: неверное использование всего ОДНОГО символа в начале текста может повлиять на ВЕСЬ последующий текст.
Оказалось, что веб-дизайнеры забыли (!) закрыть тэг-ссылку в заголовке «Latest update: 9.04 Beta ready for testing». Естественно, таких ляпов Opera не прощает и просто не показывает всё содержимое страницы, что практически вошло в незакрытую тэгом область.

Только пользователю (которому даже не известно понятие открывающийся/закрывающийся тег) от этого не лучше :)) И если от вместо страницы увидит белый фон, скорее всего решит, что плох браузер (который ему возможно посоветовали)

Но возникает вопрос: а почему Firefox пошёл на поводу у разгильдяев и «проглотил» этот грубейший баг веб-кодинга? И если бы не Opera, то сколько времени этот баг имел бы место быть и, возможно, продолжал бы вершить каверзы в самых непредсказуемых местах?


Наверно потому что сайт должен делаться для посетителя, а не для браузера (еще бы самому в это поверить… :)).

«Только пользователю (которому даже не известно понятие открывающийся/закрывающийся тег) от этого не лучше :)) И если от вместо страницы увидит белый фон, скорее всего решит, что плох браузер (который ему возможно посоветовали)»

Э нет. Не перекладывайте с больной головы на здоровую. Если бы автор той страницы при проверке в своём Firefox увидел ВЕРНЫЙ результат, косячная страница никогда бы не предстала перед пользователем.

«Наверно потому что сайт должен делаться для посетителя, а не для браузера»

Естественно. И для того, чтобы не зависеть от браузера, она должна содержать минимум ошибок и максимально следовать стандартам. В данном же случае добрый Firefox поспособствовал нарушению этих самых стандартов.
Илья, я тут в комментариях давно тусуюсь, только вот в эту ветку не лез. Решил, вот, почитать… 8-O
Специально не комментирую внизу, т.к. вы ушли в неведомые дали в споре. Дело обстоит совсем не так, и валидаторы тут ни при чём.

Со страницами Кубунту я разобрался ещё недели две назад, после чего в течение суток ребята всё поправили на сайте. Но проблема тут именно в Опере, на самом деле. Это поведение должно быть задокументировано, снабжено тестами и отправлено разработчикам на исправление.

Итак, в чём там дело было.

Для начала сделаем простой тест: заходим на страничку с незакрытым тегом, которую сохранил Илья, и отключаем стили. Что видим — всё содержимое появилось. Т.е. текст никуда не делся, он просто скрывался стилями. Теперь, надо решить вопрос почему.

Любой современный браузер обрабатывает исходный текст HTML-страницы и переводит его во внутреннее представление — дерево DOM, в котором уже оперирует не тегами, а элементами. Так, вот, на этапе генерации DOM браузер должен разобрать любую HTML-кашу или выдать ошибку и вообще ничего не показывать. Второй подход применяется сейчас только к XML документам. HTML всегда разбирается и исправляется перед тем как превратится в DOM. Но, естественно, каждый браузер делает это по-своему — тут пока не существует каких-то стандартов.

Так вот, Опера, в отличие от других браузеров (IE, Safari, Firefox) генерирует в данном случае очень неправильный DOM, элементы которого, по стечению обстаятельств скрываются затем натянутыми стилями.

Продолжение следует…
А, пока предлагаю господам спорщикам загрузить страничку в Опере и Фоксе и посмотреть на неё с помощью Dragonfly и Firebug соответственно. Найдите 10 отличий, как говорится.
Ай :) В чем это версталось? Кошмар…
Это не версталось — так сохраняет «страницу со всеми файлами» Firefox ;) Т.е., все стили куда-то ухнули. Щас поменяю на вариант, сохранённый в Opera — он, кстати, и размером меньше. Тоже сюрприз для меня.

А по поводу «разбора полётов» — если убрать тэг A HREF вообще из заголовка, вся страница отображается в Opera нормально (за исключением этой ссылки, конечно). Что, в общем, естественно. Про то, что DIV в ссылках не всеми браузерами обрабатывается читал давно где-то в инете.
Кстати, уж не знаю, как там обрабатывает страницу перед показом Opera и Firefox, но если сравнивать два сохранённых в разных браузерах варианта, то вариант Firefox я бы врагу не посоветовал.

После просмотра в Dragonfly выяснилось, что вся та каша, которая видна в Dragonfly в DOM, при сохранении страницы через FF помещается в код HTML. Так что я тут теряюсь утверждать, какой браузер правильней обрабатывает данные.
Я постоянно сталкиваюсь с тем, что HTML Validator в FF и W3C Validator по-разному некоторые моменты интерпретируют. Всё-таки склонен доверять больше валидатору от W3C.

А при чём тут Норвегия и связь — извините, я не понял.
>Я постоянно сталкиваюсь с тем, что HTML Validator в FF и W3C Validator по-разному некоторые моменты интерпретируют.
Ну если вы _постоянно_ сталкиваетесь, приведите пример ошибки, которую кто-то из них пропускает. Пожалуйста.

>А при чём тут Норвегия и связь — извините, я не понял.
Сорри… А у нас в России не везде хорошо. А кое где оень плохо. Поэтому предложение поверять процесс верстки онлайн сложно. Удобнее это делать встроенными средствами.
В норвегии проблемы со связью очень хорошо понимают, и постоянно пиарят здесь свои достижения в части всяческих приблуд для своего броузера.

А у вас в Беларуси Интернет всюду безлимитен и бесперебоен? Да?
google.com/
W3C Validator: 43 Errors, 8 warning(s)
HTML Validator в FF: 0 Errors, 58 warning(s)

А про интернет… У нас с ним не очень всё хорошо. Но при вёрстке я не проверяю каждую строчку кода. А в конце работы, не смотря на наличие HTML Validator в FF, всё равно лезу на w3.org.
И, похоже, правильно делаешь ;)

Честно говоря, не ожидал, что то, что W3C расценит как ошибки, FF ласково назовёт «предупреждениями». Вот она и разница в подходе к стандартам.
Это не совсем FF называет, это всё-таки плагин на основе HTML Tidy, про который типа рекомендуется W3C.
Илья, с валидаторами тоже не всё так гладко, в них тоже бывают ошибки, которые не исправляются годами.
Надо доверять только себе, прочитавши спецификацию. ;)
Простите, но 58 warnings — маразм. К тому же они на 100% пересекаются с ошибками указанными в w3c
Может вы как Шпанков (см.выше) на warnings внимание не обращаете? Зря.
Про «пересечение» уже обсудили выше. Ошибки и варнинги — это, знаете ли, слегка разные вещи.

И не надо переходить на личности. К слову, в моём ЧИСТОМ Firefox вообще никакие варнинги не вылазят. Никогда. Если же для этого нужно ещё ставить какое-то расширение — то увольте. Я тестирую браузер, а не расширения. Беру установленные по умолчанию Firefox, Opera и проверяю их работу. Без каких-либо дополнительных настроек или «улучшений».
НЛО прилетело и опубликовало эту надпись здесь
с популярными штуками, ради которых (если они не работают) пользователь готов бы был отказаться от оперы в пользу, скажем, фаерфокса :) gmail например был таким сервисом… (не знаю как сейчас)
Данный перевод делался в Opera 9.64 для Linux с помощью Google Docs. Сервис, конечно, глючный, но Opera работала без проблем.

P.S. Предупреждая инсинуации: глюки были исключительно ГуглДоковские. Например, при каждом автосохранении документа куда-то удалялись пропущеные строки между абзацами. Также совершенно непредсказуемо вела себя функция выбора семейства и размера шрифта.
Не подскажете, как сейчас обстоит дело с WYSIWYG?
Я уже как-то привык что Опера глючит при работе в designmode. Может все-таки удалось совместить какой-нибудь редактор с текущей версией вашего броузера. Посоветуйте пожалуйста какой-нибудь редактор.

Да! Я знаю что designmode нет в стандарте. Но ведь это не объяснишь пользователям. Они хочут.
Да никаких инсинуаций :) я вообще, честно говоря, был ошеломлён, когда узнал про такую вещь, как browser.js… произошло это случайно когда была еще 9.2 линейка, но само решение меня несколько поразило :)
Хороша статья, понравилось:) По правде говоря даже и не знал о таких деталях роботы:(
Надеюсь Опера не забросит реальное исправление ошибок в движке браузера, и не будет злоупотреблять заплатками.
После выпуска 9,5 версии браузера появились десятки значительных огрех, которые не исправлены до сих пор.
Насколько я понял, это не заплатки для движка, а как раз для сайтов, которые выполнены без соблюдения стандартов. Видимо разработчики не хотят засовывать в ядро не стандартизированные вещи, хотят оставить его идеально чистым. И это правильно =)
Это совершенно верно, но они бывает засовывают туда и заплатки на свои баги. Я видел сам и читал об этом у самих разработчиков. Потом, если ошибку исправляют, то естественно, из browser.js заплатку вычищают.
Кстати, никто не хочет почитать эту длинную статью в Опере? А, господа минусующие? Проблеме почти год уже, а товарищи разработчики всё пинают балду…
На Лепре заметки с множеством комментариев тоже испытывают аналогичнок недомагание.

Ну, это так, один из множества примеров глюков Оперы, с которыми я сталкнулся сам, сделал тесты и отослал разработчикам…
@fatal: «Кстати, никто не хочет почитать эту длинную статью в Опере?»

Кстати, почитал. Opera 9.64 Linux, страница отображается идеально от начала до конца, включая все хедеры и футеры.
А вот, на Винде, и, я почти уверен, что и на Маке (завтра ещё раз проверю) прокрутить статью нельзя. Никак нельзя.
Пробел на этой страничке сработает как переход на другую статью меньшего размера, где прокрутка уже будет работать.

Илья, заведи себе там Wine или ещё чего, чисто для проверок. Большинство пользователей же под Виндой всё-равно.
Кстати, если действительно, под Линухом эта страничка прокручивается, то попробуй увеличить маштаб, хотя бы на пару десятков процентов. Возможно, в Линуксе более мелкий шрифт используется, и страница не достигает, нужные для глюка, 65535 пикселей.
Да, увеличение шрифта ломает сайт.
Там не увеличение шрифта, там скроллинга нет вообще. И высота элемента body>form равна 0 пикселей. У оперы проблемы с тем, что размеры объектов хранятся в 2-х байтах, из-за чего содержимое выше или шире 65535 пикселей глючит. Еще один пример можно увидеть здесь: lradio.ru/photo-video/albums/images_7567.html если прокрутить плашку с фотками ближе к концу (извините что я в качестве примера привожу это сайт не в первый раз, это не пиар, не ходите туда кроме как для примера) И это не косяк скрипта, можно отключить яву и увидеть что все печально.
У меня при любых действиях выше проблемы не было. Всегда был скроллер, если его не отключить галочкой в настройках.
Что я делал не так? Вроде и в линуксе последнее должен был увидеть.

Или чем таким линукс отличается в этих случаях понять не могу.
Я не знаю что вы делаете не так, что не видете проблем, но они явно есть, проверил на 9.64 и 10а на 32-х и 64-х битной ос сборки под qt3 и qt4 (все на дебиане 5), везде проблема есть.
Проверил ваш пример. Действительно, в Опере с давних времён (проверял даже в Опере 6) есть горизонтальное ограничение в 32768 пикселей.
Простой пример:
<div style="white-space:nowrap"><img src="..любая...картинка..." width="32768" height="100"/>!</div>
Восклицательный знак должен быть далеко слева, сразу после растянутой на 32768 пикселей картинки. В Опере восклицательный знак перенесётся вниз на следующую строчку, не подчинившись nowrap.
Кстати, поведение Opera 9.2 и 9.5+ отличается. Опера 9.2 не позволяла задать изображению ширину 32768, так что такая картинка отображалась не растянутой вообще.

В страничке, которую вы привели, галерея картинок закожирована с помощью широкой таблицы, в каждой ячейке которой находится одна картинка. Т.к. таблицу разумно перенести на следующую строчку нельзя, то Опера просто обрезает её.

Если в этом же примере убрать обрамляющую таблицу и оставить одни картинки, поместив их в контейнер с nowrap, то Опера, опять же, перенесёт лишние картинки на следующую строчку.
Далее если контейнеру ещё дать стиль overflow:hidden, то Опера лишит нас горизонтальной прокрутки, все равно расположив картинки в две строчки.

Я нашел в форумах Оперы уже открытую в 2006 году тему на этот счёт и дополнил её новой информацией.
Version 10.00 alpha
Build 1345
Platform Win32

Скроллера нету пока сильно не уменьшишь страницу.
Version 9.64
Build 2480
Platform Linux
System i686, 2.6.29-ARCH
Qt library 4.2.2

Страница глючит, как и описано в комменте выше. :((

Под линуксом отображение страниц в браузерах (по-крайней мере в Fx, Opera) еще зависит от сборки браузера, вроде.
Пример: в Google Reader в Fx'е до недавних апдейтов у меня работели не все функции в Arch'е (некоторые визуальные эфекты), но вполне нормально работали (под той же версией) в Ubuntu.
Отписал разработчикам ещё раз, вдруг увидят.
Это уже исправили???
У меня при любых действиях выше проблемы не было. Всегда был скроллер, если его не отключить галочкой в настройках.

Вот не верю что так быстро поправили…
Версия: 9.62
Сборка: 2466
Платформа: Linux
1. Вы, возможно, перескочили на другую статью, нажав кнопку пробел по привычке, чтобы прокрутить страницу.
Статья называется «Жизненный цикл программиста».

2. Увеличте маштаб, т.к., похоже, на Линуксе шрифты поменьше. У Ильи Шпанькова всё получилось (смотрите его комментарий выше).
По ходу вы правы. Скорей всего сразу перескочил на другую статью.
Подитожим:

Bill Gates:
"640 K ought to be enough for anyone".

Opera:
"32768 x 65536 px ought to be enough for any page".

;)
А вот тебе ещё на заметку.

Вне зависимости, закрыт DIV или нет, при указании высоты страницы в 65508px прокрутка работает. Далее, уже при 65509px полоса прокрутки пропадает. Правда, время от времени возникает и другой вариант — полоса прокрутки отображается, но без ползунка. Чётко зафиксировать, при какой последовательности действий так происходит, не получилось.

Opera 9.64 Linux, Opera 10 Linux, размер минимального шрифта не влияет.
Пардон, погорячился. При _правильном_ закрытии DIV баг пропадает ;)

Но вот что любопытно: опять баг получается не совсем чистый: ведь DIV не закрыт, налицо ошибка кодирования. Она приводит к неверному отображению. Это я к тому, что, например, в таком случае довольно трудно убедить разработчиков Opera заняться этой проблемой в первую очередь: ведь, по сути, если страница написана без ошибок, то всё работает.

И вообще, по логике с данным вопросом нужно использовать пункт «Справка»-«Сообщить о проблемных сайтах».
Есть тесты вполне валидные, сделанный ещё год назад.
Просто хотелось разобраться в чём проблема в конкретном случае. Тут налицо опять некоректная обработка Оперой незакрытых тегов.
Во втором валидном тесте интересная деталь: если включить подгонку по ширине, то прокрутка появляется.
«Справка»-«Сообщить о проблемных сайтах».
Я не раз слышал от разрабов, что это самый худший способ сообщать об ошибках. Сам удивилялся не раз такому «раскладу».
Такое впечатление, что у них это всё шло в другую базу, а в основную базу работы над ошибками (BTS) надо всё ручками переносить.
Может уже всё поменялось, ты уточни у них, если можешь…

Пока прямее способа, чем через bugs.opera.com/wizard/ нету. ;)
Нет, тут просто разные зоны ответственности.

Когда ты пишешь баг-репорт — он сразу и попадает в BTS. И ждёт своей очереди на рассмотрение.

Если же сообщаешь о проблемном сайте, то инфа идёт непосредственно в отдел веб-стандартов, которым руководит Дэвид Стори. Вот они уже и разбираются, чей это баг. Если баг страницы — они списываются с авторами сайта и тычут тех носом в косяк. Чтобы поправили. Если же получается, что баг в Опере — тогда уже они сами заносят инфу в базу по стандартной схеме.
Ну, я, если честно, косяки разработчиков сайтов пропускаю. ;)
Или создаю тему в ветке форума «Open the Web & Take Action», если Оперу тупо заворачивают (browser sniffing).
Ну, а в данном случае у нас «два в одном». ;)
Косяк в сайте (незакрытый тег) и ошибки в Опере (неправильная интерпритация незакрытого тега и ошибка с «переполнением длины страницы»).
Как-то смотрел, что же там валяется в папках оперы. Обнаружил browser.js. Зачитался. :) Был удивлён тому, как опера гибко подстраивается под сайты.

И это на самом деле круто.
Очень люблю Оперу — довольно давно ей пользуюсь. Но о таких подробностях я естественно и не знал.
Статья очень познавательная, с удовольствием прочитал «от и до». Могу сказать лишь одно — дальнейшего успеха в развитии. Надеюсь, что со временем Опера станет ещё лучше.
Делать глядя в оперу не всегда приятно. Переваривает CSS наравне с Safari — вроде то, да не всегда. Больше всего, например, раздражает отсутствие overflow-x, overflow-y. Лучший в этом смысле конечно же FF.
Сравните overflow-x, overflow-y для разных браузеров.
overflow-x, overflow-y уже поддерживается начиная с Opera 9.5 (Presto 2.1)
Не «уже», а «наконец-то».
> Больше всего, например, раздражает отсутствие overflow-x, overflow-y.
Мужики то и не знали :) На самом деле поддержка появилась в версии 9.5. Там правда был один незначительный баг, который я нигде не встречал кроме как на своем сайте и был приятно удивлен, что в десятке нет и его.
Блин, теперь ясно почему Browsr.js переставал работать, когда я пытался править его вручную :)
>Мы исправляли свой браузер, но всемирная сеть никогда не забывает наших старых ошибок.
За одну эту фразу разработчики вызывают уважение, а за то что они делают — им просто цены нет
Представьте, что вы ведёте автомобиль, при этом вам необходимо настраивать что-то в двигателе или менять колёса каждый раз, когда вы поворачиваете за угол или выезжаете на новую улицу. Текущее состояние разработки браузеров чем-то напоминает именно такую ситуацию.

Ага. Но тогда можно сказать и так:

Представьте, что вы ведете автомобиль, но сквозь окна видите не реальную картину, а приукрашенную. Все дороги чистые, люди улыбаются, всегда солнце. Что вам показать, решает ваш автомобиль, а не вы.

Вы захотите такой автомобиль?
Кого-то мне твой ник напоминает…
привет, землянин
круто. минус лишь за то, что поздоровался с человеком.

господа минусующие, если вам раздать красные и зеленые стикеры и пустить в оффлайн, вы тоже начнете клеить красные стикеры на всех проходящих мимо людей, которые не с вами разговаривают?
Это же интернет! :)
НЛО прилетело и опубликовало эту надпись здесь
Вы из крайности в крайность прыгаете.
Автомобиль вам показывает то, что вы и так должны видеть.
А вот меняет колеса и настраивает что-то в двигателе он сам.
Ну так пусть браузер занимается, я не знаю, оптимизацией картинок на лету, и все такое. А визуальное отображение — тонкая материя, не всегда можно однозначно определить, баг это или фича. Тот же белый шрифт на белом фоне — может это задумка гениального дизайнера?
Оптимизацией картинок на лету? Вот это уже будет сродни украшению. Зачем их оптимизировать-то? Их отображать надо корректно
НЛО прилетело и опубликовало эту надпись здесь
Ну да :) И то, что белый шрифт на белом фоне – тоже пример? Не спорю, если в стилях описано #fff для обоих элементов – тут любой браузер *обязан* отобразить фон и текст белым. Чего тут тонкого-то? Визуальное отображение, как раз, и не тонкая материя. Для этого есть стандарты, разного рода тесты и прочее.
Это не совсем верное сравнение.
Если принять, что browser.js используется исключительно для исправления проблем сайтов, то можно представить автомобиль, который знает расположение открытых люков на наиболее оживлённых улицах, и автоматически будет их закрывать перед собой или объезжать — в обеих случаях вы не заметите ничего плохого… пока не заедете на улочку потемнее и поуже. ;)
Землянин. Ты совершаешь один из грехов неписаного Хабракодекса. Пользователи Оперы — очень религиозные люди. И какая-либо критика тут моментально затыкаетс…
Холивор-кошмар: пользователи Оперы под MacOS.
Как-то вы пример привели неудачный, по-моему… Опера (да и другие браузеры) не украшает сайты с помощью browser.js, а устраняет пролемы, блокирующее его НОРМАЛЬНОЕ отображение.
ну тогда, когда опера начнет поддерживать кроме html стандартов, еще и http, например, запрашивать страницу с Cache-Control: no-store в случае с нажатием кнопки back, она будет интересным браузером.
Отвечу вам от лица всех пользователей для всех разработчиков (коим я тоже являюсь): идите на фиг со своим запросом при перемещении по хистори. Вам завидно, что я могу сходить на 3 страницы назад, скопировать там текст, вернуться на последнюю, вставить его и все меньше чем за 3 секунды?
этот топик о том, как опера круто соблюдает стандарты, или не соблюдает. или мне это только кажется?
Пользователь должен контролировать (если он желает этого), то что его браузер уже загрузил.
По умолчанию Опера (начиная с 9.0, по-моему) подчиняется HTTP заголовкам на кэширование. Но есть настройки, чтобы «сделать серфинг быстрее».
А вы обязуетесь соблюдать стандарты, ставя Cache-Control: no-store только на тех страницах, которые ни в коем случае не нужно кешировать, или ставите его на всех страницах, потому что вам так проще а на пользователей плевать? Даже если и да, много ли таких разработчиков? Много ли прокси, которые будут без этого заголовка правильно работать, если вы не будете отдавать этот заголовок? Вопрос сложнее, чем вы озвучили.
отнюдь. вопрос ощутимо проще. и ответ на него тоже.

до тех пор, пока существуют поблажки для пользователей, которые хотят «побыстрее», для тех админов, что хотят отрезать заголовки, для тех программистов, которые выставляют заголовки бездумно, глупо говорить о том, как клево опера поддерживает стандарты. просто еще один пиар, причем бестолковый и неправдивый.

и перестаньте тупить, я не обсуждаю достоинства и недостатки оперы, мне вообще наплевать на оперу и ее пользователей, равно как на файрфокс, ие и все остальные браузеры. вы просто троллите, так как мой комментарий не отображает мое мнение к опере, а отражает мое мнение относительно неудачного и лживого пиара, а вы ему подмахиваете.
вот почему я и люблю Оперу. Сайт будет выглядеть именно так, как был задуман.
но не сразу, сначао милионы по граблям пройдутся, потом может быть ж)
На рисунке пропущены запятые после «yes» и «no», а также написано «thankyou» слитно
Хмм… а если баг на сайте пофиксят? Причем теперь из-за «самопального фикса» опера теперь его неправильно отображает. Эти базы обновляются?
Я знаю, что перед тем как добавить в browser.js какой-то ресурс, ребята из Оперы пытаются достучаться дл разработчиков сайта, и если по прошествии времени ничего не сдвигается, то гора идёт к Магомету.
Довольно часто, заплатка пишется так, чтобы срабатывать только в случае определённых обстоятельств. Запоатки для Оперы пишут очень толковые и ответственные товарищи, в отличие от бездельников, пишущих ядро последние года 3. ;)
ну тогда претензий нет. :)
Хотя как по мне так лучше бы шло голосование кошельком.

Опера говорит разрабам, что мол можете не чинить, у нас ваш сайт работает отлично. А если жалуються пользователи и уходят с сайта, вот это я и называю «голосование кошельком»
до этого не знал о существовании подобного файла.
тем не менее в меру возможностей пользуюсь только Оперой и было очень интересно прочесть.
Спасибо.
Единственное что мне больше всего не нравится, это то, что разработчики сами делают хаки в своих браузерах, причем новые версии браузера Opera(к примеру) отличаются от старых координальным образом! Ну и о каких ошибках в сайтах можно говорить? Виноват разработчик сайта конечно же… который подстраивая сайт под n-ную версию браузера (не только IE, под ту же Opera) забывает добавить какой-то стиль…
Если честно мне кажется что разработчики браузера должны позаботиться о том, чтобы сайт отображался в соответствии со стандартом и позволить веб мастеру самостоятельно добавлять хаки, а уж веб мастер сам найдет где у него ошибка и исправит её. Подстраиваясь под наибольшую совместимость с сайтом браузер дает возможность разработчику не указывать необходимые стили порождая ошибки.
Если честно мне кажется что разработчики браузера должны позаботиться о том, чтобы сайт отображался в соответствии со стандартом

По-моему, как раз этим и занимаются в Opera. А эти 600 сайтов — небольшое исключение для наиболее пуленепробиваемых веб-мастеров…
НЛО прилетело и опубликовало эту надпись здесь
В опере есть всё, кроме браузера.
Бред
Ирония
А по-моему, и вправду ляп. Уж извините.
я вам как автор первого комментария в ветке говорю — ирония :)
НЛО прилетело и опубликовало эту надпись здесь
Мазохизмом увлекаетесь? ;)
Можно сознательно загнать себе карму в минуса, чтобы не напрягаться по поводу одобрения сообществом своих комментариев.
Каждый файл содержит электронную подпись и Opera проверяет, является ли данный файл подлинным и не вносились ли в него изменения.

Еще есть файл user.js который делает тоже самое, но при этом не подписан.

Его используют сами пользователи для коррекции тех же сайтах, которые неправильно отображаются но при этом недостаточно популярны для того чтобы быть включенными в browser.js (вроде codesearch.google.com)
«тех же» => «тех»
Зарегистрируйтесь на Хабре , чтобы оставить комментарий