MozillaPL.org - polskie centrum Mozilli

Główne menu:

document.all w Mozilli!!!

Dyskusje na temat standardów WWW i zgłoszenia stron niedziałających poprawnie w przeglądarkach z rodziny Mozilli (w tym Mozilla Firefox)

Moderator: Pomocy?!

Postautor: marcoos » 26 lipca 2004, 11:16

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7) Gecko/20040626 Firefox/0.9.1

Domel pisze:To ze nie podoba mi sie sam document.all to jest oczywiste ale nawet samo jego wprowadzenie mi sie nie podoba. Bo lamie specyfikacje JS. Spojrzmy na przyklad:
Kod: Zaznacz cały
if (document.all) {
alert("Tak, obsluguje document.all");
}
else {
alert("Buhaha, dales sie nabrac bo myslisz ze nie obsluguje a ja obsluguje :P");
}

No sorry ale nie lubie jak mnie ktos (lub cos) oszukuje. Ale juz nie o to chodzi, takie cos lamie zasade absolutna w jezykach programowania - instrukcja warunkowa if - else musi dzialac tak jak powinna.


Ale przecież if działa dobrze. I nie łamie żadnej specyfikacji (poza specyfikacją document.all na MSDN ;))

document.all w Mozilli to nie jest zwykła kolekcja, to osobna klasa. Jej domyślna konwersja na wartość logiczną to zdaje się po prostu false (czy undefined, nie chce mi się teraz sprawdzać).

Czyli jesli warucek jest spelniony to wykonuje kod po if jesli nie to po else.


Tak. I tak właśnie się dzieje. Ponieważ "(Boolean) document.all" to false, to warunek nie jest spełniony.

Gdybyś chciał, żeby "(Boolean) document.all == true", to wtedy znaczna ilość stron przestałaby działać (bo wielu innych rzeczy z IE DOM Mozilla nie obsługuje).

quiris pisze:Ech... niewykrywalne... Już widzę te wirtuozerskie testowanie wersji przeglądarki Mozilla. Jeśli wersja większa niż 1.7 to MSIE...


E tam, wirtuozerskie. I żadne "jeśli wersja...":

Wariant 1 - typ obiektu:
Kod: Zaznacz cały
if ((typeof document.all == "function") || (typeof document.all == "object" ))
 alert ("Masz obsługę document.all");


Wariant 2 - istnienie metody tags():
Kod: Zaznacz cały
if (document.all.tags)
  alert("Masz obsługę document.all");


Wariant 3:
Kod: Zaznacz cały
<div id="bleble"></div>
...
if (document.all.bleble) {
  alert("Masz obsługę document.all");
}


Co do tego, kto jest winien obsługi document.all -- można spekulować o tej firmie, która od dawna planowała tego rodzaju ficzer. Sun też kiedyś coś podobnego proponował, ale wtedy kazano im iść na szczaw (choć wówczas były to jeszcze czasy Netscape).
marcoos
Moderator
 
Posty: 2227
Z nami od: 12 października 2002, 10:25
Lokalizacja: Wrocław

Postautor: Domel » 26 lipca 2004, 11:24

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7) Gecko/20040616

marcoos pisze:Tak. I tak właśnie się dzieje. Ponieważ "(Boolean) document.all" to false, to warunek nie jest spełniony.

No wlasnie jest false a powinno byc true.

marcoos pisze:Gdybyś chciał, żeby "(Boolean) document.all == true"

Nie, nie chcialbym ale tak powinno byc.
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Postautor: marcoos » 26 lipca 2004, 11:35

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7) Gecko/20040626 Firefox/0.9.1

Domel pisze:
marcoos pisze:Tak. I tak właśnie się dzieje. Ponieważ "(Boolean) document.all" to false, to warunek nie jest spełniony.

No wlasnie jest false a powinno byc true.


Niby dlaczego? Gdzie jest napisane, że ma być true?
marcoos
Moderator
 
Posty: 2227
Z nami od: 12 października 2002, 10:25
Lokalizacja: Wrocław

Postautor: Domel » 26 lipca 2004, 12:18

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7) Gecko/20040616

marcoos pisze: Gdzie jest napisane, że ma być true?

No mysle ze na msdn ;)
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Postautor: KLAPEK » 26 lipca 2004, 12:33

Przeglądarka: Mozilla/5.0 (X11; U; Slackware GNU/Linux i686; PL; rv:1.6) Gecko/20040113 --==MOZILLA RULLEZ ;)==--

Źle się dzieje w państwie Jaszczurzym... ;(
Państwowa dziwka, flądra w jedwabiu i złocie. || Chcą za nią tren nieść, duszę włócząc w błocie. || Cyril Tourneur (1575-1625) ||
SeaMonkey @ GNU/Linux
KLAPEK
Moderator
 
Posty: 2190
Z nami od: 10 czerwca 2002, 15:05
Lokalizacja: ~/seamonkey

Re: document.all w Mozilli!!!

Postautor: jasiu » 26 lipca 2004, 13:34

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; pl-PL; rv:1.7) Gecko/20040626 Firefox/0.9.1

Ja nie również nie twierdzę że document.all jest dobre, ale dostrzegam plus tego posunięcia, tak z czysto osobistego punktu widzenia. Prawie zawsze gdy napotykam jakąś użyteczną stronę, która nie działa w mozilli sprawdzam co jest źle, pisze poprawkę i wysyłam do autora. Niektórzy podziękują i zaktualizują, ale niektórzy mają głęboko w dupie i widze, że nic tu nie zdziałam i cała moja praca nad poprawką poszła na marne. Dotyczy to zazwyczaj starych stron, których nikt już po prostu nie chce ruszać, ale one wiszą i są dostępne tylko dla IE.
Oczywiście to nie jest kwestia tylko document.all ale jeśli jest tak jak pisze marcoos na swoim blogu, że kilkaset niereformowalnych stron zaczyna działać to ma to znaczenie. Tyle o plusach.

Co do procesu ewangelizacji to nie pamiętam kiedy ostatnio spotkałem się z nową wartościową stroną, która nie działa pod Mozillą. Tu dokonał się ogromny postęp i będzie on trwał bo mozille 1.0 - 1.7 oraz netscape 7 nie znikną z dnia na dzień.

W mozilli jest cała masa niestandardowych rzeczy, ważne żeby również te standardowe były poprawnie obsługiwane.

Myślę, że Mozilla Foundation chce mieć przegladarkę popularną a nie elitarną, bo tylko wówczas inni bedą się z nią liczyć. A może tylko wówczas przetrwa. To jest jakiś krok w tym kierunku, może tylko troche pokraczny. Ale nie pierwszy i pewnie nie ostatni.
jasiu
 
Posty: 68
Z nami od: 07 czerwca 2004, 20:34

Re: document.all w Mozilli!!!

Postautor: Domel » 26 lipca 2004, 15:11

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7) Gecko/20040616

jasiu pisze:ale niektórzy mają głęboko w dupie

To zupelnie tak jak ja ich :)

jasiu pisze:będzie on trwał bo mozille 1.0 - 1.7 oraz netscape 7 nie znikną z dnia na dzień.

Pozwole sobie lekko sie nie zgodzic. Fakt, moze nie z dnia na dzien (doslownie) ale jednak aktualizuje sie przegladarki (szczegolnie grupy posiadaczy Mozilli - a to jest grupa ZU bardziej zaawansowana, bo wiedza co to jest przegladarka). Zreszta juz widac w statystykach, ze Mozilla 1.0 ma bardzo znikomy udzial (ktory porzadnie maleje). Na dzien dzisiejszy srednia to 1.5 - 1.6 (czyli bardzo wysoko).

jasiu pisze:W mozilli jest cała masa niestandardowych rzeczy, ważne żeby również te standardowe były poprawnie obsługiwane.

Wlasnie, a pod tym katem ostatnio nic nie zrobiono. Dlatego wolalbym zeby HTML 4.01 zoastal zaimplelentowany najpierw a potem niech sobie mysla o "ficzerach" typu document.all.

jasiu pisze:A może tylko wówczas przetrwa.

Jest to smiala teza, biorac pod uwage ze za czasow braku document.all liczba uzytkownikow Mozilli stale wzrastala.
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Re: document.all w Mozilli!!!

Postautor: marcoos » 26 lipca 2004, 19:48

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7) Gecko/20040626 Firefox/0.9.1

Zreszta juz widac w statystykach, ze Mozilla 1.0 ma bardzo znikomy udzial (ktory porzadnie maleje). Na dzien dzisiejszy srednia to 1.5 - 1.6 (czyli bardzo wysoko).


To głównie wynik tego, że jest nas (userów Moz) mało, a większość z nas się orientuje, dlatego aktualizuje. I TYLKO i WYŁĄCZNIE dlatego.

jasiu pisze:W mozilli jest cała masa niestandardowych rzeczy, ważne żeby również te standardowe były poprawnie obsługiwane.

Wlasnie, a pod tym katem ostatnio nic nie zrobiono.


Bzdura.

Dlatego wolalbym zeby HTML 4.01 zoastal zaimplelentowany najpierw


Puk-puk, halo, tu rzeczywistość! HTML 4.01 jest w Gecko od zawsze. :P

(Oczywiście Domel się czepi że jakiś nikomu niepotrzebny parametr ośmiorzędnego znacznika nie działa :P)

jasiu pisze:A może tylko wówczas przetrwa.

Jest to smiala teza, biorac pod uwage ze za czasow braku document.all liczba uzytkownikow Mozilli stale wzrastala.


Ale liczba użyszkodników Opery z document.all wzrastała szybciej w tym samym czasie, przynajmniej w naszym wesołym kraju. Więc?
marcoos
Moderator
 
Posty: 2227
Z nami od: 12 października 2002, 10:25
Lokalizacja: Wrocław

Re: document.all w Mozilli!!!

Postautor: Domel » 26 lipca 2004, 20:16

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7) Gecko/20040616

marcoos pisze:
Zreszta juz widac w statystykach, ze Mozilla 1.0 ma bardzo znikomy udzial (ktory porzadnie maleje). Na dzien dzisiejszy srednia to 1.5 - 1.6 (czyli bardzo wysoko).

To głównie wynik tego, że jest nas (userów Moz) mało, a większość z nas się orientuje, dlatego aktualizuje. I TYLKO i WYŁĄCZNIE dlatego.

Dzieki ze powtorzyles moje slowa dotyczace zaawansowanych ZU. Ale wlasnie mowimy o tych warunkach. Jasiu: dlugo bedzie 1.0-1.7, ja: nie bo wiekszosc z nas jest zorientowana wiec szybciej aktualizuje. Moze w przyszlosci to sie zmieni tyle ze w przyszlosci problem bedzie nieaktualny (bo wtedy mozilla bedzie obslugiwala document.all). Wiec mie musisz krzyczec wielkimi literami, bo troche nieaktualne ;)

marcoos pisze:
jasiu pisze:W mozilli jest cała masa niestandardowych rzeczy, ważne żeby również te standardowe były poprawnie obsługiwane.

Wlasnie, a pod tym katem ostatnio nic nie zrobiono.

Bzdura.

Jakies przyklady bo ja zaraz podam kontrprzyklady.

marcoos pisze:Puk-puk, halo, tu rzeczywistość! HTML 4.01 jest w Gecko od zawsze. :P

Jasnie. <frame>, <frameset>, <col>, <colgruop>, <object>. <basefont> itp

marcoos pisze:(Oczywiście Domel się czepi że jakiś nikomu niepotrzebny parametr ośmiorzędnego znacznika nie działa :P)

Jesli uwazasz ze wyzej podane sa "ośmiorzędnego znacznika" to fajnie. Zreszta pierwszego czy dwudziestego rzedu, sa w specyfikacji a Mozilla je obsuluje od 10% do 90%. (zalezy od znaczika) [obslugiwanych w 95% nie wymieniam] Zreszta przy XHTML 1.0 troche dochodzi rzeczy a przy XHTML 1.1 drugie tyle znacznikow tym razem zupelnie nie obslugiwanych :(

marcoos pisze:Ale liczba użyszkodników Opery z document.all wzrastała szybciej w tym samym czasie, przynajmniej w naszym wesołym kraju. Więc?

Nie na tyle, ze mozna bylo wysnuc wniosek ze sa to rzeczy powiazane.
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Re: document.all w Mozilli!!!

Postautor: Adrianer » 26 lipca 2004, 20:37

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.1) Gecko/20040707 MultiZilla/1.6.4.0b

Domel pisze:
marcoos pisze:Ale liczba użyszkodników Opery z document.all wzrastała szybciej w tym samym czasie, przynajmniej w naszym wesołym kraju. Więc?

Nie na tyle, ze mozna bylo wysnuc wniosek ze sa to rzeczy powiazane.

śmiem twierdzić, że to z tego powodu, że Opera jest przeglądarką dużo bardziej zaawansowaną od Mozilli Suite, a już 1000x bardziej zaawansowaną od Firefoxa. Opera stawia na funkcjonalność, Firefox i IE na prostote. Ostatnie statystyki przeglądarek pokazują wyraźnie kto porusza się lepszą drogą :x
Adrianer
Moderator
 
Posty: 1771
Z nami od: 15 maja 2002, 17:37
Lokalizacja: Bern/Switzerland

Re: document.all w Mozilli!!!

Postautor: Domel » 26 lipca 2004, 20:47

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7) Gecko/20040616

Adrianer pisze:śmiem twierdzić, że to z tego powodu, że Opera jest przeglądarką dużo bardziej zaawansowaną od Mozilli Suite, a już 1000x bardziej zaawansowaną od Firefoxa. Opera stawia na funkcjonalność, Firefox i IE na prostote.

Moze tak agresywnie na to nie patrze, ale generalnie po czesci sie zgadzam. Chociaz ja upatruje raczej w tym ze srodowisko Mozilli jest zagmatwane wiec latwiej zainstalowac Opere niz wglebiac sie jaka jest roznica miedzy Pnonexem, Firebirdem, Firefoksem, Mozilla....
Domel
 
Posty: 2252
Z nami od: 14 kwietnia 2002, 19:10
Lokalizacja: Białystok

Re: document.all w Mozilli!!!

Postautor: zwierz » 27 lipca 2004, 08:08

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7) Gecko/20040626 Firefox/0.9.1

Adrianer pisze:Ostatnie statystyki przeglądarek pokazują wyraźnie kto porusza się lepszą drogą :x
Największy wzrost na rynku ma w ostatnich tygodniach Firefox
zwierz
Moderator
 
Posty: 1915
Z nami od: 31 sierpnia 2003, 10:13
Lokalizacja: Kraków

Postautor: Wojciech » 27 lipca 2004, 13:15

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.6) Gecko/20040113

Trochę sie włóczę po firmach i widzę, że główną przyczyną pozostawania przy duecie IE & OE, i przekonywania przez to projektantów stron, że ma się je robić pod IE, jest po prostu nieprawdopodobne lenistwo umysłowe pracowników i szefów. Przekonanie kogokolwiek do innego oprogramowania udaje się tylko w przypadku poważniejszej katastrofy. Podstawowe argumenty: "skoro działa, to dobre", "przecież kupiliśmy Win XP", "ja się na tym nie znam" (typowo po polsku, w domyśle: więc po co słuchać kogoś, kto się zna :-? ), "jesteśmy przyzwyczajeni", "przecież wszyscy używają tych programów" itd. A przecież wszyscy pracownicy wykorzystują w domu nielegalnie programy z firm, więc ich postawa przekłada się również na sektor domowy. Nie ma na co liczyć - dopóki nie nastąpią poważne, wręcz katastroficzne, problemy (bezpieczeństwo; Wirusiarze wszystkich krajów łączcie się! :D ) i nie przemówi się firmom i osobom prywatnym do kieszeni (walka z piractwem, bo M$ cen raczej nie będzie windował), nie ma co liczyć na radykalne zmiany, przynajmniej w Rzeczpospolitej Polskiej. Zresztą w Niemczech też nie jest tak różowo, mimo spektakularnych sukcesów Wolnego Oprogramowania w sektorze samorządowym.
Tak więc trzeba się raczej nastawić na powolne, długofalowe działania.
Wojciech
Moderator
 
Posty: 1100
Z nami od: 28 sierpnia 2002, 09:32
Lokalizacja: Przeworsk

Postautor: marcoos » 30 lipca 2004, 23:37

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7) Gecko/20040626 Firefox/0.9.1

Tak dla malkontentów, którzy uważają, że tego rodzaju obsługa all[] w Mozilli niewiele poprawia: Cóż, nie wiem, co poprawia w Polsce, ale na świecie poprawia działanie np. Al Dżaziry. :-)
marcoos
Moderator
 
Posty: 2227
Z nami od: 12 października 2002, 10:25
Lokalizacja: Wrocław

Postautor: quiris » 30 lipca 2004, 23:44

Przeglądarka: Opera/7.53 (Windows NT 5.2; U) [pl]

marcoos pisze: na świecie poprawia działanie np. Al Dżaziry. :-)

Nie no... Wspaniała sprawa. Nareszcie będzie można bez problemu oglądać ścinanie głów :-?
quiris
 
Posty: 659
Z nami od: 31 lipca 2002, 06:53

Postautor: marcoos » 13 sierpnia 2004, 11:26

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.7) Gecko/20040803 Firefox/0.9.3

Dziwię się, że jakoś nie wpadłem na to wcześniej:

Najprostsze wykrywanie document.all[] zarówno w Operze i IE, jak i w Mozilli 1.8 - poprzez wykorzystanie operatora in:

Kod: Zaznacz cały
if ("all" in document) {
  alert("Masz obsługę document.all");
  /// ...
} else {
  alert("Nie masz document.all");
}
marcoos
Moderator
 
Posty: 2227
Z nami od: 12 października 2002, 10:25
Lokalizacja: Wrocław

Postautor: quiris » 06 października 2004, 14:11

Przeglądarka: Opera/7.60 (Windows NT 5.2; U) [en] (IBM EVV/3.0/EAK01AG9/LE)

marcoos pisze:Dziwię się, że jakoś nie wpadłem na to wcześniej:

Najprostsze wykrywanie document.all[] zarówno w Operze i IE

Trochę czasu minęło i wydaje mi się, że wszystkie wymienione w tym wątku metody nie działają na 1.8a4. Poprosimy naszego szpeca 8) marcoosa od JS o komentarz w tej sprawie :)
quiris
 
Posty: 659
Z nami od: 31 lipca 2002, 06:53

Postautor: marcoos » 06 października 2004, 14:41

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040928 Firefox/0.10

Nieprawda, ostatnia metoda ("all" in document) działa jak należy.
marcoos
Moderator
 
Posty: 2227
Z nami od: 12 października 2002, 10:25
Lokalizacja: Wrocław

Postautor: quiris » 06 października 2004, 15:27

Przeglądarka: Opera/7.60 (X11; Linux i686; U) [en]

marcoos pisze:Nieprawda, ostatnia metoda ("all" in document) działa jak należy.

No jak działa, jak nie działa (przynajmniej u mnie):
Kod: Zaznacz cały
javascript:if ("all" in document) alert("Masz obsługę document.all"); else alert("nie masz obsługi d.all");

I na FF 1.0PR, i na M1.8a4 dostaję nie masz obsługi d.all Testowałem na Linuksie. Opera i MSIE 6.0 zwracają mi poprawnie
quiris
 
Posty: 659
Z nami od: 31 lipca 2002, 06:53

Postautor: zwierz » 06 października 2004, 18:36

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; rv:1.7.3) Gecko/20041001 Firefox/0.10.1

Chyba takie było założenie - jeśli zapytasz o obsługę - dostaniesz: NIE OBSŁUGUJĘ, a jeśli użyjesz document.all bez pytania sprawdzania - wtedy obsłuży
zwierz
Moderator
 
Posty: 1915
Z nami od: 31 sierpnia 2003, 10:13
Lokalizacja: Kraków

PoprzedniaNastępna

Wróć do Standardy WWW i źle działające strony

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: