Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem konfliktu występujący tylko w Chrome
Forum PHP.pl > Forum > Po stronie przeglądarki
zigif
Witam.
Mam drobny problem z moim projektem i już nieco brakuje mi pomysłów. A że problem jest stosunkowo oryginalny pozwolę go przedstawić szerszemu gronu zdecydowane lepiej znającemu się na tematyce niż ja smile.gif


Stoi sobie stronka www.klomnice.pl na joomli. Generalnie udało mi się z grubsza wyeliminować większość problemów oprócz niezgodności 3 dodatków występujących tylko w przypadku przeglądarki Chrome. Otóż w chwili gdy na stronie użyję galerii sigplus z włączonym stylem boxplus (np dział urząd -> o urzędzie) w chrome przestają działać skrypty odpowiedzialne za menu prawe (accordion menu) i górny rotator obrazków (jw simple image rotator). Sama galeria działa ok.
Tam gdzie galeria nie ładuje swoich skryptów pozostałe moduły też działają ok. Problem stanowi tylko ich połączenie a konkretnie coś siedzącego w skryptach boxplusa.
W ff, ie i operze problem nie występuje.

Jak to ugryźć?

Edit:

Problem z rotatorem rozwiązałem.
Problemem było wyzwalanie skryptu przez:
if ( typeof window.addEventListener != "undefined" ) { window.addEventListener( "load", init_ahr, false ); }

windows.onload=init_ahr też nie działało.

Dołożyłem:
  1. var browserName=navigator.appName;
  2. if (browserName=="Netscape") //google chrome app.Name
  3. {window.onload = setTimeout("init_ahr();", 1000); }
  4. else ...

i śmiga.

Z menu jest podobny problem. Nie działa wyzwalanie skryptu przez:

  1. window.addEvent('domready', function(){accordionMenu( .. itd


Podmiana domredy na load nic nie daje.

Może ktoś wie czym to zastąpić?
I czemu to przestaje działać po załadowaniu skryptu boxplus.min.js?
Kartofelek
Sprawdź czy przypadkiem tam nie ma nic odnośnie width i height w tych skryptach. Chrome jak chrome - ładuje js natywnie, czyli wcześniej muszą być wczytane obrazki żeby można było pobrać ich wymiary.
Czyli
image.oncomplete = function() { tutaj dopiero pobieram }

Niby poprana sprawa, ale baaaaardzo upierdliwa.
zigif
Edit:

Opiszę problem i rozwiązanie z grubsza dla potomności.

Załadowanie skryptu boxplusa z dodatku sigplus w przeglądarce chrome owocuje brakiem uruchamiania się wszelkich skryptów wywoływanych przez "window.addEvent” i „window.addEventListener”.

Widać chrome jest tak szybka, iż sama za sobą nie nadąża. aaevil.gif

Rozwiązaniem problemu jest drobna modyfikacja innych skryptów tak aby zamiast wspomnianych metod odpalać je z opóźnieniem przez
"window.onload = setTimeout("stosowna_funkcja();", 1000);"


Pewnie lepszym rozwiązaniem byłoby poprawienie boxplusa ale szczerze mówiąc nie bardzo wiem jak. Jeśli ktoś ma ochotę się skusić tu znajdzie skrypt który powoduje problemy.


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.