Całkiem stylowo świrnięci
Moje boje z $(document).ready() w JQuery - czyli pomocy!
(autor: Całek, 10-01-2007 o godz. 22:26)
Jednym z obecnych zleceń nad jakimi pracujemy jest dość duży sklep internetowy. W kilku miejscach używany jest javascript, aby np: przyjemnie chodziła galeria zdjęć produktu, czy przyjemnie działał wybór adresy wysyłki... Jednak problem, jaki napotkałem jest taki, że nie zawsze jest odpalana funkcja inicjująca (a przynajmniej na to stawiam).
Problem jest poważny, gdyż nie mam go jak testować - występuje on na różnych komputerach klienta, zarówno na IE jak i FX, a na naszych za ChRL nie chce się pojawić - tj. u nas wszystko śmiga prześlicznie. Kod JS i HTML jest poprawny (Opera, IE, Webdeveloper@FX nie zgłaszają błędów).
Jak wspominałem - korzystamy z bilbioteki JQuery, która to znacznie umiliła mi życie jeśli chodzi o tworzenie javascript (a przy tym jest znacznie mniejsza od kobylastego prototype). Kod, który używam do odpalania różnych funkcji JS:
[...definicje różnych funkcji...]
function initialize()
{
initNotReady();
initDeliveryForm();
initAddressForm();
initAddressMultiForm();
[...]
}
$(document).ready(initialize);
Czyli zwykły, ładny i grzeczny kod, który należy stosować przy JQuery - kod niemal prosto z manuala. Problem leży w tym, że czasem przeglądarka klienta zachowuje się tak, jakby miała wyłączony javascript całkowicie. Stąd moje przypuszczenie, iż nie jest odpalana funkcjia initialize() ...lub jest odpalana zbyt wcześnie. Dorobiłem zatem zabezpieczenei przed tym:
var hasLoaded = false; function initialize() { if(hasLoaded) { return true; } initNotReady(); initDeliveryForm(); initAddressForm(); initAddressMultiForm(); [...] hasLoaded = true; } $(document).ready(initialize); $(window).load(initialize);
Jeżeli to nie pomoże, to chyba będę zmuszony brutalnie wstawić <script/> tuż przed </body>, a nie za bardzo mi się to podoba. Jakieś pomysły?
Całek napisał(a):
(2007-01-11 o godz. 01:26)
snowdog (http://kubazwolinski.com) napisał(a):
(2007-01-11 o godz. 13:02)
Marcin Krawiec napisał(a):
(2007-01-16 o godz. 08:53)
Thnx za radę, może kiedyś się okaże pomocna :>)
wjozcqpjodb (http://mfczutvbbqzu.com/) napisał(a):
(2009-09-30 o godz. 17:26)
pucwdcizeo (NhXKgjJtGVlKrIqvJ) napisał(a):
(2009-10-04 o godz. 14:25)
Wropapporpova napisał(a):
(2009-10-11 o godz. 00:26)
How are you doing?