Xpoint
   [напомнить пароль]

Opera. За что её не любят разработчики?

2006-03-14 23:20:08 [обр] Rom McRitsky [досье]

В принципе всё сказано в названии темы. За что многие разработчики не любят Opera? Где она не следует стандартам? html, css, javascript?

Каждый отзыв будет ценен. Отдельно хотелось бы попросить высказаться Андрея Новикова[досье], Владимира Паланта[досье], Андрея Брайнина[досье], Сергея Круглова[досье], Евгения Петрова[досье].

спустя 2 часа 39 минут [обр] Владимир Палант [досье]

Да, больная тема...

Дело не в том, что Opera не следует стандартам. У нее очень обширная поддержка всякой всячины, не хуже остальных браузеров (IE браузером не считать). Только толку от этого мало. Чем больше имею дело с Оперой, тем больше мне кажется, что реализуют эту поддержку спустя рукава, в большой спешке, для галочки. В результате выходят очень сырые версии, с глюками в самых неожиданных местах, причем у каждой отдельной версии свой собственный уникальный набор глюков. С Gecko мне достаточно все отладить в Firefox 1.5, а потом на всякий случай посмотреть на результат в Mozilla 1.7 — и всё, этого достаточно, во всех остальных версиях проблем тоже не будет. С Оперой приходится на совесть тестировать в каждой отдельной версии — 8.50, 8.51, 8.52, 8.53, и это если даже не поддерживать старые версии (лично у меня просто столько времени нет).

Примеров множество. К примеру Opera 7.20 начала идентифицировать себя как браузер, поддерживающий XHTML. То, что глюков на этой стадии была масса, а JavaScript в XHTML вообще не поддерживался — никого не волновало. Делалось все равно для галочки, а не для того, чтобы XHTML можно было реально использовать. С версии 8.0 поддержка XHTML стала сносной. Но стоило мне чуть копнуть — оказалось, что поддержка CDATA-блоков и в актуальных версиях минимальная, правильно работает только при самом стандартном использовании (отослал три баг-репорта, пока что ничего не исправлено).

Другой пример: XMLHttpRequest, поддержка появилась в Opera 8.0. Появилась только из-за GMail, который при всей своей популярности не работал в Opera — многолетние просьбы веб-разработчиков тут роли не играли. Соответственно и реализация была заточена под тот же GMail. Метод POST поддерживался — номинально. Просто установить правильно заголовок Content-Type для запроса было нельзя, соответственно пользоваться этим без извращений было опять невозможно. В версии 8.01 появилась возможность менять заголовки запроса, но лучше не стало — теперь в запросе получалось два заголовка Content-Type. И только с версии 8.02 можно нормально использовать POST с XMLHttpRequest. И тут ведь нельзя свалить вину на недостаточную стандартизацию XMLHttpRequest, речь о самых базовых функциях.

О том, что в Opera 8.0 внезапно пропала поддержка 204 No Content, я уже и говорить не хочу. И ведь разработчикам сообщили о глюке за год до выхода этой версии — а исправили все равно почему-то только в Opera 8.01. Чтобы новую версию того же Mozilla Firefox выпустили, зная, что в ней сломана базовая поддержка HTTP — я себе такого даже представить не могу.

Я смотрю, как фанаты Opera радуются, что в Opera 9.0 будет полностью переписан CSS-движок. Вот только повода для радости не вижу. А кто гарантирует, что новый движок будет лучше старого — пусть кривоватого, но отлаженного? См. Things You Should Never Do, Part I. Опять же, что мы должны думать о качестве кода Opera, если там в каждой версии приходится что-то переписывать заново?

Смущает и направление, в котором двигается Opera. Заинтересованности в солидной поддержке стандартов не замечается, см. выше. Предпочтение отдается новым фичам, а не исправлению существующих. При этом разработчики часто ориентируются на частные случаи (GMail, Acid2).

Написать можно еще много — может позже.

спустя 34 минуты [обр] Rom McRitsky [досье]
Написать можно еще много — может позже.

Буду весьма признателен.

Прошу тех, кто может аргументированно дополнить Владимира, а не просто крикнуть "Фу", высказываться.

спустя 5 часов [обр] Даниэль Алиевский [досье]

Вот, пожалуйста, пара недавних примеров.

  1. Зацикливание при печати <script...> через document.write
  1. Апплеты. Как ни добавь апплет на страницу - что через <applet...>, что через комбинацию object/embed, при отсутствии JVM Opera весело рисует маленький прямоугольник с надписью "Java a" (наверно, начало "applet") - кстати, игнорируя мои атрибуты width/height. Вообще-то, если броузер не может предложить ничего лучшего, то при отсутствии Java должен показываться альтернативный текст - любой html внутри тега <applet...>...</applet> или <object...>...</object>, отличный от тега <param...>. Opera это игнорирует и вообще ничего не предлагает - ни скачать JRE, ни хотя бы пойти на страницу, указанную в параметре pluginspage тега <embed...>. Щелкать по прямоугольнику "Java a" тоже бесполезно.

С апплетами и в других отношениях Opera идет своим путем. Скажем, navigator.javaEnabled() - только в Opera при отсутствии JVM эта функция всегда возвращает false, даже когда флажок в настройках установлен. Но тут, наверно, грех жаловаться - FireFox в этой же ситуации ведет себя нестабильно (функция возвращает то true, то false).

А в целом, действительно, в более ранних версиях Opera я нередко сталкивался с признаками "сырого кода". Так, Opera 3.61 очень забавно поддерживала JavaScript: все переменные в функциях были всегда глобальными!

спустя 9 часов [обр] Сергей Круглов [досье]

Лично мне Опера не нравится выскакивающими такими глюками, которые непонятно с какой стороны подходить исправлять вообще...

Повторю за Владимиром, но принцип "новая версия - новые глюки" довольно утомляет. Было у меня разок, что в 7.5 сайт выглядит нормально, в 8.5 абсолютно спозиционированный блок внутри ячейки таблицы уехал куда ему заблагорассудилось, в 9-превью - все опять нормально.

спустя 4 часа 49 минут [обр] fetis [досье]

Насчет скриптов не знаю, а вот в плане верстки Опера нравится мне больше IE c его вечными глюками, пропадающими блоками и 3px gap. Под старые версии Оперы не проверяю, руководствуясь тем, что ее пользователи люди довольно продвинутые и быстро обновляют свой браузер.

Насчет обратной совместимости FF Владимир все-таки лукавит немного. У меня был случай когда контейнер с display: inline-block нормально показывался в 1.06 и ломал верстку в 1.5.

спустя 1 час 17 минут [обр] Владимир Палант [досье]

Сергей Круглов[досье]
Да, с этим согласен. Глюки, которые выскакивают в Opera, поражают своей нелогичностью. Если мне попадается глюк в Gecko или в IE, то, как правило, легко понять, что же именно разработчики сделали неправильно. Понимание проблемы — первый шаг к ее решению. С Opera дело обстоит иначе. Очень часто дополнительные эксперименты выявляют абсолютно непонятное поведение. Непонятное в том смысле, что сложно себе даже представить код, который бы такое поведение вызывал. Как будто бы Opera целиком построенна на абсолютно нестандартных подходах.

Кстати о нестандартных подходах — с этим в последнее время вроде стало получше, но разработчики Opera очень любят изобретать колесо. См. радикальный подход к кешированию — по умолчанию Opera всё кеширует 5 часов. Это неплохой маркетинговый ход (кампания "Opera — самый быстрый браузер мира" была построена не в последнюю очередь на этой фиче), но проблем это вызывает немерянно. Той же цели "ускорения" служит и отображение страниц до полной загрузки CSS-файлов (на Xpoint из-за этого есть специальный внешний вид для Оперы, состоящий из одного CSS-файла, иначе регулярно какой-нибудь из файлов не применяется). Ну и сохранение всего состояния страницы в памяти, чтобы к ней можно было быстро вернуться. В Firefox 1.5 та же фича теперь тоже есть, но ее основательно продумали, чтобы не возникло проблем с разработкой скриптов (см. Using Firefox 1.5 caching) — разработчиков Оперы же заботила только видимость быстрой работы браузера. Не забудем и горячо любимый разработчиками MDI-интерфейс Оперы, делающий правильное позиционирование popup-окон почти невозможным (позиционирование ведь происходит относительно MDI-окна, а как-то дать скриптам доступ к параметрам этого окна никто не позаботился).

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

fetis[досье]
Gecko не поддерживает inline-block и обратного никто никогда не утверждал. Насчет Opera речь только о функциональности, которая официально поддерживается.

спустя 9 часов [обр] Владимир Михайленко [досье]
> См. радикальный подход к кешированию — по умолчанию Opera всё кеширует 5 часов.
Факт в том, что у меня с кешированием в Опере проблемы возникают только на xpoint. На том же phpclub все кэшируется нормально. Тему уже поднимали: Браузер кэширует страницы .
спустя 3 часа 7 минут [обр] Сергей Круглов [досье]

phpclub last-modified не выдает, а выдает только expires на 1970 год.

p.s. хотя у меня "база знаний" в мозилле кэшируется все время, приходится F5 нажимать. Но там Expires на месяц вперед.

спустя 2 часа 3 минуты [обр] Владимир Палант [досье]
Владимир Михайленко[досье]
Речь об установках по умолчанию. Подавляющее большинство сайтов не выдает никаких заголовков касательно кеширования, у браузера должно быть осмысленное значение по умолчанию. Кешировать страницы без Last-Modified на пять часов — бред, кроме Оперы такого ни один браузер не делает. И то, что это не противоречит никаким стандартам — не извинение. Если мой "браузер" на любой запрос будет показывать "Server not found", то это тоже не будет противоречить стандартам, но полезность такого "браузера" равна нулю.
спустя 20 часов [обр] fetis [досье]

Зато такая модель кеширования позволяет перемещаться по страницам а) экономя трафик; б) даже после обрыва соединения; в) субъективно быстрее.

На поле поддержки стандартов FF скорее всего обгоняет Оперу (я так понимаю, IE мы даже в расчет не берем), но в остальном она с ним может потягаться.

спустя 46 минут [обр] Сергей Круглов [досье]

Поддержка стандартов - это все хорошо. Но это как коммунизм - вроде на словах все хорошо, а жить не получается.

off: В опере как-нить можно отключить хранимые куки и не отключать сеансовые?

спустя 18 часов [обр] Владимир Палант [досье]
Сергей Круглов[досье]
Preferences / Advanced / Cookied / Delete new cookies when exiting Opera
спустя 10 дней [обр] Константин [досье]

Сергей Круглов[досье]
> phpclub last-modified не выдает, а выдает только expires на 1970 год.

при чем тут last-modified ?

> p.s. хотя у меня "база знаний" в мозилле кэшируется все время,
> приходится F5 нажимать. Но там Expires на месяц вперед.

еще один пример того, что выдача заголовков у вас написана спустя рукава

Владимир Палант[досье]
> Речь об установках по умолчанию. Подавляющее большинство сайтов
> не выдает никаких заголовков касательно кеширования,

Это статичные страницы, для них и должно быть большое кэширование.

> у браузера должно быть осмысленное значение по умолчанию.

оно осмысленное, ИМХО. Впрочем, это не имеет никакого значения для разработчиков динамических страниц, их дело - правильно управлять кэшированием. А как пользователь - можете настроить значение под себя, для того оно и существует.

> Кешировать страницы без Last-Modified на пять часов — бред,

Конечно бред, ведь ласт-модифед не управляет кэшированием %=))

> кроме Оперы такого ни один браузер не делает.

ну при чем тут другие браузеры? Если ориентироваться на стандарты де-факто, а не на rfc, то надо все браузеры на поведение ИЕ затачивать. Лично я такого не хочу.


с остальным согласен - Опера чаще падает, больше косяков с отображением контента имеет. Но как пользователя, она меня в целом устраивает. Удобнее она как-то, эргономичнее чтоли.
А главное, пожалуй, - быстрая. И тут не скорость загрузки страниц имеется ввиду - тут как раз преимущество минимальное. Сам интерфейс быстрый, переключение между вкладками - почти мгновенный (зажать правую кнопку мышки и перемещаться скролом).

У фокса мне нравится идея расширений. Да и в целом браузер он хороший, просто пока сыроватый еще, ИМХО. Я уверен, что фокс в нудалеком будущем сделает Оперу почти по всем показателям (почти, потому что по скорости, размеру и занимемой памяти ему будет сложно тягатья с ней из-за XULа), и вот тогда я с удовольствием на него пересяду.

-
А веб-разработчики, ИМХО, должны делать сайты так, чтобы они нормально работали во всех современных браузерах не зависимо от того, любят они их или не любят. Если только сам проект не накладывает каких-то определенных требований (типа gmail, внутрикорпоративный сайт и т.д.)

спустя 1 день 19 часов [обр] Сергей Круглов [досье]

RFC2616(ietf) (HTTP/1.1)

13.3.1 Last-Modified Dates

   The Last-Modified entity-header field value is often used as a cache
   validator. In simple terms, a cache entry is considered to be valid
   if the entity has not been modified since the Last-Modified value.
...
   HTTP/1.1 clients:

      - If only a Last-Modified value has been provided by the origin
        server, SHOULD use that value in non-subrange cache-conditional
        requests (using If-Modified-Since).
А веб-разработчики, ИМХО, должны делать сайты так, чтобы они нормально работали во всех современных браузерах

Сайты надо делать так, чтобы затраты на разработку и поддержку не превышали дополнительных доходов от расширения аудитории.

спустя 1 час 24 минуты [обр] Константин [досье]

> 13.3.1 Last-Modified Dates
>
> The Last-Modified entity-header field value is often used as a cache
> validator. In simple terms, a cache entry is considered to be valid
> if the entity has not been modified since the Last-Modified value.

Что такое кэш-валидатор прочитайте внимательней. Это не управление кэшем и присутствие этого заголовка не означает обязательного запроса к серверу, если этот объект уже есть в кэше. Кстати говоря, апач выдает этот хидер на все статичные объекты.

> Сайты надо делать так, чтобы затраты на разработку и поддержку
> не превышали дополнительных доходов от расширения аудитории.

да, но это не отменяет моей фразы. Даже xpoint.ru нормально отображается и в Опере. Если только предположить, что сделать правильное кэширование (т.е. потратить на это 5 минут) будет стоить вам дороже, чем могут принести те 4-5 процентов, которые пользуются оперой...

Владимир Палант[досье]
> Я смотрю, как фанаты Opera радуются, что в Opera 9.0 будет
> полностью переписан CSS-движок.

откуда информация, можно узнать? Может вы с ИЕ7 перепутали? В опере9 врое как только движок рендеринга будет переписан...

спустя 50 минут [обр] Сергей Круглов [досье]

> In simple terms, a cache entry is considered to be valid
> if the entity has not been modified since the Last-Modified value.
Проще говоря, запись в кэше полагается валидной, если ресурс не изменялся с момента Last-Modified.

А как узнать, изменялся ли ресурс с момента Last-Modified, кроме как делать обращение к серверу?


Правда, что означает Expires на месяц вперед в заголовках xpoint, я сам не очень понимаю...

спустя 1 час 7 минут [обр] Владимир Палант [досье]

Константин[досье]
Нашел первоисточник информации: http://my.opera.com/olli/blog/show.dml/22674
Как минимум в Mozilla "layout engine" в первую очередь обозначает отображение CSS. Парсинг CSS я не имел в виду, разумеется.

Сергей Круглов[досье]
Документы базы знаний как раз должны кешироваться. Если они меняются, то меняется ссылка на них.

спустя 1 день 21 час [обр] Константин [досье]

Сергей Круглов[досье]
> А как узнать, изменялся ли ресурс с момента Last-Modified,
> кроме как делать обращение к серверу?

Это вы уже занимаетесь додумыванием того, что не написано.
Повторяю, апач выдает этот хидер для всех статичных объектов (html, картинки, css и т.д.) - неужели не настораживает?

Владимир Палант[досье]
> Как минимум в Mozilla "layout engine" в первую очередь обозначает
> отображение CSS. Парсинг CSS я не имел в виду, разумеется.

понятно.

спустя 10 минут [обр] Владимир Палант [досье]
Константин[досье]
Повторяю, я не говорил о ресурсах, которые выдают заголовок Last-Modified — все браузеры понимают его, как приглашение к кешированию, это нормально. Но Опера по умолчанию кеширует на пять часов и ресурсы, которые этот заголовок не выдают, то есть вывод всевозможных скриптов (мало кто в скриптах специально прописывает заголовки против кеширования). А вот это уже — полнейший бред.
спустя 2 часа 54 минуты [обр] Константин [досье]

Владимир Палант[досье]
Понятно. Об этом я не подумал. А как на этот Last-Modified реагируют прокси-серверы?

PS. Опера не кэширует страницу, если в УРЛ есть параметры (т.е. ?vars).

спустя 18 часов [обр] Даниэль Алиевский [досье]

Владимир Палант[досье] А мне кажется, вы чересчур резко осуждаете Opera. Вы говорите с позиций грамотного пользователя, который смотрит на грамотный сайт. Но 99% ситуаций в мире совсем другие - человек, абсолютно не разбирающийся в Internet (и лишь с вероятностью порядка 10% знающий английский, если брать всю планету), смотрит на сайт, сделанный "чайником", смутно представляющим себе, что такое Web. Разве не так?

В этой ситуации очень часто бывает, что автор сайта использовал что-нибудь вроде SSI или движка форума, блокирующее выдачу Last-Modified. И, конечно, не позаботился, чтобы Last-Modified все же правильно формировался. Хуже того, не позаботился (не подозревал о существовании) о gzip, хуже того, выдает чудовищные страницы. (Я знаю минимум один форум, причем сделанный не такими уж "чайниками", в котором типичная страница весит до полумегабайта и, разумеется, кэширование не работает.) Так чем же плохи старания разработчиков Opera минимизировать время и трафик посетителя такого сайта?

Да, возможно "странное поведение" страницы. Но если сайт сделан криво, он наверняка и в других отношениях будет вести себя криво. Нормально сделанный сайт явно запретит кэширование, если оно мешает логике работы. При этом, "странное поведение" ведь не приводит к явным ошибкам! Информацию, опубликованную на сайте, увидеть можно (если не нажимать "обновить", то с максимальным отставанием на 5 часов). Свое сообщение отправить можно, пусть даже сразу ты его не увидишь. Зато миллионы несведующих русских, китайцев, индийцев и прочих пользователей с дорогим и медленным трафиком радуются быстрому и экономному броузеру.

А для грамотных пользователей, вроде бы, нет проблем перенастроить Opera.

спустя 3 часа 29 минут [обр] Владимир Палант [досье]

Даниил, у Оперы нет настойки "всегда проверять страницу на обновления, когда это нужно бы сделать". Я могу либо установить, чтобы она кешировала всё на 5 часов (или другой интервал времени) — либо чтобы не кешировала совсем, но опять же всё. Меня, как "граммотного пользователя" со сравнительно неплохим интернетом (что еще далеко не причина полностью отказываться от кеширования) не устраивает ни одна установка. Кстати, теперешняя ситуация — уже прогресс, более старые версии Оперы я мог заставить перезагрузить страницу только очисткой кеша.

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

спустя 36 минут [обр] Даниэль Алиевский [досье]

Владимир Палант[досье]

Я могу либо установить, чтобы она кешировала всё на 5 часов (или другой интервал времени) — либо чтобы не кешировала совсем, но опять же всё

Правда, что ли? Специально не разбирался, мне казалось, что "Always" для "Check documents" - то, что нужно. Если в варианте "Always" Opera не кэширует даже документы с правильным Last-Modified, это, конечно, ошибка и нарушение стандарта.

Повторюсь, Opera, насколько я понимаю, разрабатывалась не для "граммотных пользователей со сравнительно неплохим интернетом". А для людей со слабыми компьютерами и каналами, как правило, совершенно не "грамотных" в Internet-технологиях. Т.е., собственно говоря, для большинства пользователей :) Что до грамотных разработчиков... Может быть, не так уж важно гарантировать стопроцентно качественную поддержку Opera? Раз уж сами авторы броузера создают проблемы. Ну, будет глючить сайт немного - если он следует стандартам и совместим с MSIE/FireFox, то это проблема Opera, а не разработчика сайта.

Бывает, конечно, что глючит не "немного", а все намертво виснет - я как раз писал об этом. Это уже плохо.

спустя 7 часов [обр] Константин [досье]

Даниэль Алиевский[досье]
В варианте "Always" Opera все кэширует. Просто она всегда посылает запрос к серверу с заголовком If-Modified-Since, а сервер ей отдает уже либо новую страницу либо ответ "304 Not Modified".

Да и стандарты Опера поддерживает нормально (по крайней мере в обсуждаемом случае с кэшированием). А ситуация с Last-Modified, это просто хак для вэб-разработчиков, которые не знают что такое кэширование (т.е. не соблюдают стандарты). В опере тоже есть такой хак (УРЛ с параметром), но менее элегантный и грубый, и в результате огребает проблемы на некоторых сайтах. Но стандарты в данном случае она не нарушает. Я правильно понимаю, Владимир Палант[досье] ??

спустя 10 часов [обр] Даниэль Алиевский [досье]

Владимир, если верить Константину (сам не проверил, хотя изначально был уверен, что так и должно быть), то выходит, что вы не правы: "Я могу либо установить, чтобы она кешировала всё на 5 часов (или другой интервал времени) — либо чтобы не кешировала совсем, но опять же всё"

Почему не поставить Always для документов (не картинок)? Один тривиальный запрос к серверу - это копейки.

Кстати о кэшировании. Когда я перешел на FireFox с MSIE, у меня возникло ощущение (и до сих пор не исчезло), что FireFox кэширует слишком мало. Может, где-то оно и надежнее (на особо кривых сайтах), но у меня это не раз вызывало конкретную проблему. Обычно у меня открыта куча разных сайтов. Но - увы мне - хоть и редко, но случается, что связь обрывается из-за проблем у провайдера. Чаще всего не очень надолго, несколько часов. И в этой ситуации, как правило, я просто не могу нажать Back и посмотреть предыдущие страницы из history. А также не могу включить "Work Offline" и смело закрыть броузер, с тем чтобы потом посмотреть те же страницы из кэша. В MSIE меня "Work Offline" в таких ситуациях спасал - как правило, все, что я читал сегодня, я мог открыть даже при отсутствии связи.

То, что FireFox частенько перезагружает страницу по кнопке Back, меня вообще раздражает. Надеешься, что оно появится мгновенно, ан нет - вовсе не всегда. Мне вообще сложно представить себе ситуацию, когда по кнопке Back необходимо обратиться к серверу и предпринять что-то другое, кроме того, что я интуитивно ожидаю - увидеть страницу, которую я видел только что. По кнопке Back, пожалуй, можно даже игнорировать запреты кэширования, кроме разве что нулевого Expires (и то не уверен). Из-за этой "правильности" FireFox я завел привычку почти всегда открывать новые ссылки в новых закладках - уж если страница открыта, к счастью, ни один броузер не пытается ее перезагружать.

В общем, я согласен, что формальное соблюдение стандартов еще не делает броузер хорошим, более того, иногда нарушение стандарта может быть оправдано. Но конкретно в вопросе кэширования мне подход Opera импонирует. Подумаю, подумаю да и перейду на нее :) Хотя и мой канал, и мой компьютер вряд не можно назвать "плохими".

спустя 4 часа 4 минуты [обр] Владимир Палант [досье]
Даниил, любое обращение к серверу, даже минимальное — задержка в загрузке страницы. На этом форуме в сотне тем ругали IE, который посылает запрос к серверу с If-Modified-Since всегда, независимо от кеширования. И вы хотите сказать, что это хорошо? Что касается Firefox — версия 1.5 по кнопке Back вообще берет уже готовое DOM-дерево из памяти, то есть отображение происходит моментально. Если у вас что-то перезагружается, значит сайт установил очень агрессивные заголовки против кеширования, возможно как раз для того, чтобы Опера его не кешировала. Но может вы перенесете офф-топик в другую тему? Повторяю: здесь речь не о пользователях.
спустя 20 дней [обр] Сергей Круглов [досье]

Вышла Opera 9.0 Beta. Вроде бета - это когда все готово на наш взгляд - народ, посмотрите, может что вы увидите...

Скачал. Решил потестировать.
Визуальный редактор (designMode) позволяет вставлять абзацы, заголовки и ссылки бесконечной вложенности (<p><p><p>...</p></p></p>, <a href="a"><a href="b">..</a></a>)
Одиночные теши вставляются с /> в конце (т.е. вроде как для соответствия xhtml), но само название тега - в большом регистре.
Вставленные картинки нельзя перетаскивать мышкой.
Абзацы нельзя превратить в список.
После insertImage редактор выходит из designMode.
Тут у меня терпение иссякло, на поддержку в очередной раз забиваю, по крайней мере до выхода "не беты".

спустя 9 дней [обр] skywalker [досье]

Глюки оперы, на котрые наталкивался:

  1. Потдержка XSLT, в ослике и лисенке, она есть, опера XSLT вообще не признает
  2. Ставишь в css для body, background (если версать div'но), а потом пытаешься в версии для печати поставить background: none опера 8, не понимает, и выводит упорно background
  3. При дивной верстке разметка в 3 колонки, размерами 25% 50% 25%, опера 8 упорно делает 25% 50% 25%+1px , т.е. 1 на один пиксел больше, ослик и лисенок делают верно

Это только некоторые из глюков, с которыми сталкивался, радует только одно, по статистике лисенком в мире пользуются больше людей чем оперой (в России все наоборот), глядишь опера и вообще загнется.

спустя 2 часа 51 минуту [обр] Владимир Палант [досье]
  1. Справедливости ради — это не глюк, а отсутствие фичи (причем фичи для браузера опциональной). Поддержка XSLT будет в Opera 9.0, вот тогда уже пойдут глюки — и я уверен, что немало.
спустя 21 час [обр] fetis [досье]
skywalker[досье]
  1. У вас никода в ИЕ не разлеталась верстка из-за того, что он что-то там недосчитал, когда окно браузера полностью не распахнуто? Поэтому не надо про 25-50-25 и отличное отображение в ИЕ.
спустя 1 месяц 18 дней [обр] Vitaly Harisov [досье]

> В Firefox 1.5 та же фича теперь тоже есть, но ее основательно продумали, чтобы не возникло проблем с разработкой скриптов (см. Using Firefox 1.5 caching) — разработчиков Оперы же заботила только видимость быстрой работы браузера.

Давно пользуюсь Оперой и пишу на JavaScript, никогда не возникало проблем со скриптами и back/forward. В каком состоянии ты ушёл со страницы, в таком на неё back'ом и вернёшься. Ничего не перерисутся, ничего не сбросится. В FF 1.5 наткнулся на проблему, нашёл эту статью и только для FF написал window.onpageshow. Вводить новые события, когда этого можно не делать (опыт back/forward в опере это показывает) это правильный метод, ага.

Насчёт стабильности Gecko-движка и глюков в опере:
https://bugzilla.mozilla.org/show_bug.cgi?id=338551
https://bugzilla.mozilla.org/show_bug.cgi?id=338554

Второй баг весьма мешает жить.

спустя 20 часов [обр] Владимир Палант [досье]

Vitaly Harisov[досье]
Глюки есть везде, об этом не спорим. Вопрос лишь — насколько часто, насколько серьезны последствия, и как быстро/корректно их исправляют.

Разница между Opera и Firefox в смысле back/forward как раз в том, что когда у вас возникли проблемы — вы нашли документацию и способ с ними справиться. Когда у меня были очень серьезные проблемы с back/forward в Опере, я не нашел ничего. Конечно, сейчас эта фича в Опере уже не новая, и может быть больше не глючит (не могу судить, давно не писал приложения, где это было бы важно) — но в промежутке на разработчиков наплевали. Аналогичная ситуация была с XHTML в Opera 7.20. И раздражает именно эта тенденция выпускать сырые фичи, с которыми потом приходится бороться.

Что касается ваших багов — по поводу первого вы вряд ли можете жаловаться, все-таки фича экспериментальная, и не зря там приставка -moz стоит. Тем более, что применение стилей к таблицам очень и очень нетривиально. Вот когда приставку уберут и назовут свойство box-sizing — тогда можно будет рассчитывать на полное соответствие стандартам.

Ну а второй — это не баг. Я написал вам там объяснение, просто у тегов TABLE и TD есть стили по умолчанию (для обратной совместимости), а у DIV'ов — нет. Если вы стоите таблицу на DIV'ах, то должны и стандартные стили продублировать, если хотите идентичного отображения.

спустя 8 минут [обр] Владимир Палант [досье]
PS: Кажется я перепутал порядок ваших багов, под "первым" я имею в виду второй. Кстати, свойство box-sizing — это CSS3 box model, пока что "working draft". Меня не удивит, если разработчики Gecko ждут, чтобы составители стандарта разобрались, как именно должно работать это свойство в нестандартных ситуациях.
Powered by POEM™ Engine Copyright © 2002-2005