"Opera jest zła"

w dziale Strony WWW w Operze
adas napisał(a):

http://cyryl.wordpress.com/2007/02/23/opera-jest-zla/ - sprawdzi ktoś czy autor ma rację i czy trzeba jakiegoś buga zgłosić?

Zajec napisał(a):

Wygląda na bug, nie rozumiem jednak do końca specyfikacji DOM3: http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getElBId

Pada tam dziwne dla mnie zdanie: "The DOM implementation is expected to use the attribute Attr.isId to determine if an attribute is of type ID.". Przetłumaczy ktoś znaczenie tego?

quiris napisał(a):

Już odpowiedziałem:

To zachowanie Opery jest znane i zostało wprowadzone z całą premedytacją przez programistów OS ASA, aby zachować kompatybilność z Internet Explorerem, który ma to tak dokładnie rozwiązane. Pozwala to na uniknięcie problemów z wieloma stronami, które bazują na tym zachowaniu. Szczegóły: http://www.quirksmode.org/bugreports/archives/2005/09/documentgetElementById_may_return_element_with_a_n.html

Zajec napisał(a):

Niestety, stworzyłem stronę nie quirks mode (w XHTML 1.1) i bug występuje: http://zajec.net/test/getElemById.and.name

quiris napisał(a):

Originally posted by Zajec:

Niestety, stworzyłem stronę nie quirks mode (w XHTML 1.1) i bug występuje: http://zajec.net/test/getElemById.and.name


Bo ma występować. Zauważ, że http://www.csb7.com/test/ie_getelementbyid_bug/index.php też jest CSS1Compat. Zastanawiam się, czy nie wywołać dyskusji na ten temat, żeby Opera zmieniła to działanie na zgodne ze standardami. Wszak jest browserjs do takich rzeczy.

Zajec napisał(a):

Nie widziałem tamtego testcase wcześniej. Moim zdaniem workaround/bug ma prawo występować, ale co najwyżej w quirks mode. Nie w normalnym trybie.

Możebyś wywołał tę dyskusję jednak? Ja przerobiłem swój test-case na bardziej human-readable, możesz go podsunąć.

cyrylas napisał(a):

Jeśli to zachowanie zostało wprowadzone specjalnie, by zachować zgodność z IE, to czemu akurat przykład zaproponowany przez Zajeca działa pod IE (odpalonym pod Wine)?

http://img138.imageshack.us/img138/3199/greenlinekt1.png

A tak ogólniej - moim zdaniem Opera wcale nie powinna tak robić. Mozilla trzyma się standartów, i używając jej na codzień od lat osobiście nie spotkałem skryptu, który by nie działał z powodu tego błędu.

Zupełnie już generalizując i wyolbrzymiając. Skoro Opera lubi się trzymać sposobu działania IE, to proponuję jeszcze traktować style width jako min-width i wliczać do tego dodatkowo border i padding. Wszyscy webmasterzy będą wtedy wniebowzięci wink

Dodatkowym argumentem jest to, iż IE w Polsce posiada już tylko około 60% rynku. Osobiście pozwalam sobie już robić strony, które IE pokazują komunikat o niezgodności ze standartami z linkiem do wersji alternatywnej. Jeśli Opera będzie dalej tak zapatrzona w IE, to kiedyś będzie mogła otrzymać podobny komunikat...

quiris napisał(a):

Originally posted by cyrylas:

Jeśli to zachowanie zostało wprowadzone specjalnie, by zachować zgodność z IE, to czemu akurat przykład zaproponowany przez Zajeca działa pod IE (odpalonym pod Wine)?


Test case Zajca jest ciut inny. Operuje na blokach nie będących elementami formularza. De facto test case Zajca ujawnił nowe na pewno niechciane objawy niezgodnego ze standardami zachowania. Dyskusja na angielskim forum: http://my.opera.com/community/forums/topic.dml?id=179820

quiris napisał(a):

No proszę i coś tam udało sie zwojować smile Jest szansa, że poprawka pojawi się w Kestrelu: http://my.opera.com/community/forums/findpost.pl?id=1948405 smile Na razie błąd jest naprawiony w kompilacjach wewnętrznych.

cyrylas napisał(a):

Poprawione w sensie, że działa jak w IE, czy jak w Firefoxie?

quiris napisał(a):

Originally posted by cyrylas:

Poprawione w sensie, że działa jak w IE, czy jak w Firefoxie?


bigeyes Skoro już działa jak w IE, to chyba jasne jest, że jeśli mówię, że jest poprawione to będzie działało zgodnie ze standardami, czyli jak w Firefoksie, a o co wszczęta była przecież batalia.

Zajec napisał(a):

Dobra robota :-) Jeden bug mniej.