Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Problem z Request() i setTimeout()
Skie
post 28.08.2008, 16:50:41
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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:03