![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ten temat co prawda nawiązuje do tematu, który poprzednio założyłem, ale dotyczy innego problemu więc zdecydowałem założyć osobny topic. A więc tak, Request'em w koncu udalo mi sie pobrac plik JS. Zastosowałem funkcję eval() w poniższy sposób: Kod eval(req_js.responseText); Sprawdziłem czy działa - okazało się, że tak.... ale z jednym problemem. Plik JS jest klasą zawierającą kilka metod, a w tym jedna, mianowicie battle.Animation(id) która wykonuje się kilka razy (tj. na samym koncu funkcja sprawdza czy skrypt "przeanalizowal" cala tablice - jezeli nie to ta metoda wywoluje sama siebie ponownie z innym parametrem 'id'). Niestety po pierwszym wykonaniu pętli "gubi" się gdzieś klasa battle. (battle undefined) i skrypt konczy swe dzialanie. O ile ten plik (JS) dzialal dobrze, gdy byl normalnie wczytywany to przy zastosowaniu eval() cos sie chrzani. Może mi ktoś wytłumaczyć dlaczego? EDIT: Edytowałem temat gdyż odkryłem co się chrzani. Gdy podmienię Kod setTimeout('battle.Animation('+id+');', battle.Time); na Kod battle.Animation(id); To wszystko działa. Niestety to rozwiązanie mnie nie zadowala, gdyż głównym zastosowaniem tej klasy jest właśnie wyświetlanie tych wyników co określony czas a nie wszystko razem. Ten post edytował Skie 28.08.2008, 17:13:16 -------------------- Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+ Strona Domowa | Elradia MMORPG FireFox: make the web better. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Zastosuj się do posta @revyag w temacie http://forum.php.pl/index.php?showtopic=10...mp;#entry510346 i będzie wszystko grać.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chodzi Ci o
Kod eval('('+req_js.responseText+')'); To ten sposób w ogóle nie działa, natomiast jeśli chodzi o jQuery - nie będę przecież "wmontowywał" biblioteki tylko dla jednego pliku. -------------------- Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+ Strona Domowa | Elradia MMORPG FireFox: make the web better. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Prawie to samo robi zdarzenie onload dla body:
A co do jQuery'owego ready to są krótkie skrypty które robią to samo (szukaj w google: domready js) -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Tak, to być może byłby dobry patent, gdyby nie to, że wszystko w znacznikach <scirpt> i </script> jest blokowne.
Nawet takie cuś nie zadziała: Kod <script type=text/javascript>
alert('error'); </script> -------------------- Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+ Strona Domowa | Elradia MMORPG FireFox: make the web better. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Musi działać. Jakieś błędy w firebugu?
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 555 Pomógł: 84 Dołączył: 20.02.2008 Skąd: Małopolska Ostrzeżenie: (0%) ![]() ![]() |
Gdyby działał to by się wyświetlił ten komunikat. A jakoś tego nie widzę. Zdaje się że Request AJAXa blokuje skrypty JS w wywolanym pliku.
-------------------- Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+ Strona Domowa | Elradia MMORPG FireFox: make the web better. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Umieściłeś to
i to body onload... w głównym pliku? W tamtym temacie bodajże revyag pisał, żebyś opakował skrypt, który teraz chcesz dołączać ajaxem w funkcji np.init() To ja się teraz pytam po co Ci AJAX?! -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 10:38 |