Temat: Ajax, jQuery problem z skryptami
Drogi kolego,
mylisz troszkę pojęcia bo nie masz problemu z ajaxem.. chyba że tym do zmywania podłogi (or smth). ;)
Wyjaśniam: "ajax" (
asynchroniczny javascript i xml ) to nie biblioteka doładowywana do strony.. jest to tylko jedna z funkcjonalności udostępnianych przez przeglądarkę - opakowana w JavaScript, i zwana: HttpXmlRequest (FF i inne), lub: ActionScript (IE).
Korzystając z
technologii ajax wykorzystujesz biblioteki JavaScript które ładnie opakowują istniejącą bibliotekę pozwalając na szybkie pisanie aplikacji które wysyłają dane do serwera - bez przeładowania strony.
Pomijając fakt że tylko i wyłącznie Ty wiesz o co Ci tak na prawde chodzi, pozwolę sobie rozbić Twojego posta na kilka mniejszych pytań - żeby przynajmniej skierować Twój problem w kierunku wyjścia.
Cytat:
Witam mam problem z Ajaxem + jQuery
ODP: to niemożliwe
Cytat:
Potrzebuje na stronie skrypt (...)
ODP: rozumiem że ktoś ma Ci takie coś napisać - ale powinieneś wtedy zatytułować posta: potrzebny webdeveloper
Cytat:
(...) przy zaladowaniu strony jest wszystko ok, lecz po przeladowaniu jej ajaxem lub jak zostanie wywołana przez ajax skrypt przestaje działać (...)
ODP:
"przeładowanie ajaxem" rozumiem jako odświeżenie strony przy użyciu javascript.. ale "wywołanie strony ajaxem" jest dla mnie w ogóle nie zrozumiałe. Zmieniasz parametr "document.location.href" na tą samą stronę i to nazywasz "wywołaniem przez ajax"?
Cytat:
(...) bo tak naprawde nie ma prawa bo strona sie przy ajax'ie nie ładuje (...)
ODP: teraz już wszystko jasne - nie ma prawa... bo nawet Twój "ajax" nie wie co ma zrobić w tej sytuacji...
Cytat:
Jak można to ominąć? może jakaś funkcja która rozpoznaje czy ajax sie zaladowal itp.
ODP: w końcu piszesz z sensem. Jeżeli masz problem z tym że nie załadował Ci się jQuery to możesz to bardzo łatwo sprawdzić.
..proste if () - powinno załatwić sprawę.
var sprawdzamyCzyJestJQ = function () {
if ($ == undefined) {
window.alert('Nie bangla, bo nie ma jeszcze obiektu jQuery.');
//a teraz zabieg pozwalajacy przeczekac ladowanie jQuery
var timeout = 2000; // = 2sec
window.setTimeout(function () { /*tutaj wstawiasz ponowne wywolanie swojej akcji*/ return sprawdzamyCzyJestJQ(); }, timeout);
} else {
window.alert('Bangla! :)');
}
};
window.onload = sprawdzamyCzyJestJQ();
..dzięki takiemu zabiegowi dowiesz się czy nie popełniłeś literówki i jQuery się ładuje porpawnie.
Cytat:
Odpada:
- Wywołanie skryptu w zdarzeniu ajax'a po załadowaniu bo bym musiał zmieniać teraz zbyt dużo plików.
ODP: ŻYCIE - jak dbasz tak masz. Lepiej zainwestować w dobry skrypt.. albo jakieś szkolenie które w efekcie pozwoli Ci takie skrypty pisać - niż "mieć do zmiany zbyt dużo plików".
Cytat:
- Wstawienie skryptu w wczytywanej stronie bo wiadomo że to nie zadziała chociaż bilbioteka prototype ma ponoć funkcje która przeszukuje dom aby odnaleźć skrypty i wywołać je. Może jQuery też ma?
ODP: zaimponowałeś mi tym fragmentem. jQuery ma takie coś - oczywiście. Trzeba tylko CZYTAĆ DOKUMENTACJĘ.
Domyślam się wielkim kołem że robisz proste zapytanie .get() które zwraca jakiegoś HTML-a i nie potrafisz sobie poradzić z uruchomienie skryptów zawartych na tej doładowywanej stronie.
Człowieku - daj zobaczyć. Fragment kodu, zrzut ekranu, cokolwiek!!
Po drugiej stronie nie siedzi gromada myślicieli którzy już wiedzą co Ci dolega i jeszcze w dodatku napiszą to za Ciebie.
Oto link do dokumentacji jQuery:
http://docs.jquery.com/
Polecam pozaglądać - bo najwidoczniej sporo informacji na ten temat Ci brakuje.
Poza tym, w wolnej chwili zaglądnij do bazy wiedzy:
http://www.google.pl/search?hl=pl&num=100&q=jak+pisa%C...
..nie będzie to złym pomysłem.
Domyślam się że wydrzesz się na mnie bo zdenerwujesz się po mojej wypowiedzi - ale weź pod uwagę że jestem pierwszą osobą która zechciała odpowiedzieć na tego posta.
Pozdrawiam,
Sławek F.