Opera i JS

0
  1. Czy to normalne, że skrypty działające pod każdą przeglądarką czasem nie działają pod Operą?
  2. Czy to normalne, że aby sprawić, żeby zadziałały trzeba dać PPM -> Preferencje dla witryny -> Sieć -> Identyfikacja przeglądarki i ustawić "Maskuj/przedstawiaj się jako Firefox"?
  3. Czy to normalne, że po jednokrotnym użyciu takiego skryptu po zmianie opcji z pyt. 2, a następnie przestawieniu z powrotem na "Przedstawiaj sie jako Opera" skrypt nadal działa?
  4. Gdzie tu logika?
  5. Ilu naćpanych gimnazjalistów pisze Operę?
0

Odkąd korzystam z jquery nie miałem problemów z interpretacją skryptów przez operę. Wcześniej też nie przypominam sobie, żeby działo się coś mocno dziwnego. Może po prostu masz gdzieś jakiś błąd?

0

Być może.
Pytanie tylko - jaki mój błąd może mieć wpływ jedynie na Operę, na dodatek nie zawsze?

0

jedyny problem co znalazlem, to , ze wylaczony jest event onExit - nie da sie wykryc, czy user zamyka karte.

0
  1. Czy to normalne, że aplety i konsola Javy działają na wszystkich dostępnych mi komputerach i na wszystkich przeglądarkach z jednym wyjątkiem: FF wersja >= 3.5.3 na moim desktopie (Windows XP SP3)? Na forum Mozilli mi nie uwierzyli.
    Czy możliwe, że FF pisze gromada naćpanych gimnazjalistów?
0
bo napisał(a)
  1. Czy to normalne, że aplety i konsola Javy działają na wszystkich dostępnych mi komputerach i na wszystkich przeglądarkach z jednym wyjątkiem: FF wersja >= 3.5.3 na moim desktopie (Windows XP SP3)? Na forum Mozilli mi nie uwierzyli.
    Czy możliwe, że FF pisze gromada naćpanych gimnazjalistów?

lol

0
bo napisał(a)
  1. Czy to normalne, że aplety i konsola Javy działają na wszystkich dostępnych mi komputerach i na wszystkich przeglądarkach z jednym wyjątkiem: FF wersja >= 3.5.3 na moim desktopie (Windows XP SP3)? Na forum Mozilli mi nie uwierzyli.
    Czy możliwe, że FF pisze gromada naćpanych gimnazjalistów?

Konsola javy została zablokowana w firefoksie z powodu znalezienia exploita (tak, firefox ma mechanizm pozwalający na "zdalne" blokowanie dodatków, oczywiście za zgodą użytkownika). Pojawił się już update javy, ale póki go nie zainstalujesz konsole i applety będziesz mieć zablokowaną.

Ale koniec o Javie, temat jest o javascripcie.

0
bo napisał(a)

Czy możliwe, że FF pisze gromada naćpanych gimnazjalistów?

Biorąc pod uwagę jego ślamazarność i fakt, że z wersji na wersje jest coraz bardziej badziewny, to jest to całkiem możliwe. Niemniej jednak potrafi przynajmniej obsługiwać JavaScript.

Wciąż mam nadzieję, że ktoś się z tak dziwnym zachowaniem Opery spotkał i jest w stanie coś o tym napisać.

0

@nav, udzieliłeś odpowiedzi, która nie ma żadnego związku z problemem i zamknąłeś OT. Trochę nie fair.

0

Jakiś czas temu przerzuciłem się na Chrome, ale wcześniej nie zauważyłem podobnych anomalii w Operze. Może zapodasz przykłady tych skryptów?

0
somekind napisał(a)

Wciąż mam nadzieję, że ktoś się z tak dziwnym zachowaniem Opery spotkał i jest w stanie coś o tym napisać.
Kiedyś, pisząc skrypt galerii w js, szukałem dobre pół godziny błędu, który występował tylko w Operze.
objawy błędu
document.getElementById(id) zamiast zwrocić konkretny obiekt, czasem zwracala tablice
czysta losowosc, bo obiekt z podanym id byl tylko jeden...
document.getElementsByName() zamiast zwracac tablice obiecktow, czasem zwracalo konkretny obiekt
rowniez czysta losowosc, bo obiekt byl tylko jeden

po zobaczeniu takiej paranoi, raz na zawsze olałem tą przeglądarkę. niby te metody już od dawna działają według specyfikacji - ale kto wie...

0

A ja pamiętam, jak kiedyś document.getElementById(id) zwracał pewien element, który posiadał właściwość name == podane id :P

0

Dzięki za tych klika konkretnych odpowiedzi.

Zainstalowałem starą wersję Opery (9.27 i 9.50) i działa dobrze. Na kompie z XP po zainstalowaniu najnowszej Opery zadziałało dobrze za drugim razem i jest już ok. WTF?

Używam AjaxUploadera (jQuery), który jest przypięty do diva udającego przycisk. Po kliknięciu w ten "przycisk" pojawia się okno wyboru pliku, plik wybieram, klikam "Otwórz" i nic się nie dzieje.
Nawet nie mam pomysłu jak to debugować. :/

0

do debugu opery -> opera dragonfly.
debugowania za nic nie wiem jak uzywac, ale podobno najlepszy debuger JS ma wlasnie opera ;)

nigdy nie mialem problemów z operą (w przypadku JS, do dzis istnieją dwa specyficzne bugi w CSS, na ktore chyba nikt inny nie trafil). cos musisz mieszac. przykłady wskazane.

ogólnie zauwazylem taka zaleznosc -> pisze strony, dzialam na operze -> i potem wszystko jest ok (poza IE).
bo jak pisze strony, działam na takim ff -> to potem różnie bywa.

0

W miarę aktualne wersje Opery mają świetne wsparcie dla standardów. Problemy sprawia zwykle to, że Opera jest nazbyt restrykcyjna i nie popuszcza odchyłów od specyfikacji (ale czy to źle?). Drugie źródło problemów to ograniczenia, jakie Opera narzuca na skrypty ze względów bezpieczeństwa. Chcesz zmienić wartość atrybutu type w input[type=password]? Opera nie pozwoli!

@keraj:
@kubARek:
Z tym getElementsByTagName/getElementById to być może chodzi Wam o to, że w Operze getElementsByTagName(XYZ) zwraca również elementy o ID równym XYZ. To jeden z niewielu przypadków, w którym Opera odchodzi od specyfikacji by niby być bardziej "przyjazna" (suxxxx!).

Trudno mi uwierzyć w akcję, którą opisał @keraj. getElementById zwraca tablicę?! WTF? Chciałbym zobaczyć minimalny kod, który to powoduje. Prędzej śmierdzi mi to jakimś drobnym błędem w kodzie, który objawiał się w ten sposób.

@somekind:
Jeśli faktycznie masz dobrze zainstalowaną Operę, a Twój kod nie ma istotnych bugów i jest zgodny ze specyfikacją, to rozumiem Twoją frustrację i przyznaję: takie zachowanie przeglądarki jest po prostu NIEDORZECZNE. Ponownie, chciałbym jednak zobaczyć minimalny kod, który to powoduje. Opera to nie IE. Może jednak to w JavaScripcie jest błąd?

Ten AjaxUploader to Ci się kaszani jedynie w Operze? Testujesz to w wersji przeglądarki wspieranej oficjalnie przez AjaxUploadera? Oni czasem wspierają jedynie wysokie wersje Opery. W stylu 9.6+.

0
dzek69 napisał(a)

do debugu opery -> opera dragonfly.
debugowania za nic nie wiem jak uzywac, ale podobno najlepszy debuger JS ma wlasnie opera ;)

Polemizowałbym, ale nieważne.
To nie problem debugować, gdy wie się gdzie należy wstawić breakpointa. Natomiast jak zebrać listę eventów wywoływanych w trakcie pracy skryptu nie wiem.

cos musisz mieszac.

Pewno ja - w skryptach nie swojego autorstwa i przeglądarce, której nie pisałem. ;)

bswierczynski napisał(a)

Opera to nie IE.

No właśnie niestety nie. IE jest znacznie lepszy, przynajmniej skrypty interpretuje sensownie i przewidywalnie.

Ten AjaxUploader to Ci się kaszani jedynie w Operze? Testujesz to w wersji przeglądarki wspieranej oficjalnie przez AjaxUploadera? Oni czasem wspierają jedynie wysokie wersje Opery. W stylu 9.6+.

Jak już pisałem - na starych jest ok, problem występował w najnowszej wersji. Nie zawsze, a na dodatek zmiana preferencji dla witryny sprawiała, że znikał.
Gdyby to była wina skryptu, to błąd powinien byłby zawsze i wszędzie, a nie jak sobie jaśnie deweloperstwo Opery ubzdurało.
Ja nie umiem pisać przeglądarek internetowych, więc tego nie robię. Oni tez mogliby sobie znaleźć inne zajęcie, może np. w hodowli owiec mieliby więcej powodzenia.

Rozwiązanie okazało się oczywiście banalnie proste i głupie zarazem. Otóż w tej wersji Opery, natychmiast po otwarciu okna wyboru pliku rzucane było samo z siebie zdarzenie mouseout, które w skrypcie ajaxuploadera było obsługiwane do zmiany jakichś stylów czy coś takiego... Po zakomentowaniu tego kodu wszystko działa, nie widzę też efektów ubocznych. Gorzej, jeśli okaże się, że ta funkcjonalność zacznie być potrzebna.

0

jako fan opery boli mnie ze jesteś opera-haterem i tak jedziesz po operze :P nie zasłużyła sobie, ale chyba jesteś w tej grupie co zawsze znajdą problem w operze..

ja z kolei nie napiszę jaka jest fajna, i co ma w porównaniu do reszty, bo we flejmy się nie bawię

0

Nie jestem żadnym haterem - wyrażam się krytycznie o nieracjonalnym jej zachowaniu.
I nie szukam nigdzie problemów. Dostałem w pracy zadanie, akurat dotyczyło Opery, akurat okazało się, że ktoś coś spieprzył i narobił sporo dodatkowej roboty innym.

Żeby nie było - uważam, że na rynku nie ma obecnie ani jednej normalnej przeglądarki, każda jest do d**y.

1 użytkowników online, w tym zalogowanych: 0, gości: 1