• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JavaScript - pojedyncze wywołanie funkcji nie działa

Object Storage Arubacloud
0 głosów
373 wizyt
pytanie zadane 10 września 2015 w JavaScript przez Benek Szeryf (91,110 p.)

Ten temat to raczej ciekawostka, bo nie wiem jak to jest możliwe. Nie działa mi pojedyczne wywołanie funkcji, natomiast funkcja ta umieszczona wewnątrz funkcji setInterval(); działa... Mam taki kod:

function runExe(){
	$("#content").load("php/runexe.php");
}

var time = 1000 * <?php echo $time ?>;
runExe();
setInterval(function(){ runExe(); }, time);

Natomiast runexe.php uruchamia program konsolowy i zwraca pewne wartości poprzez echo. Samotne runExe(); jest wywoływane po to, by nie czekać time sekund na pojawienie się wyniku na ekranie. Niestety nic się nie pojawia, muszę odczekać te time sekund. Ale na przykład:

setInterval(function(){ runExe(); }, 1);

Zwraca wynik natychmiast.

3 odpowiedzi

+1 głos
odpowiedź 11 września 2015 przez spark Nowicjusz (240 p.)
edycja 11 września 2015 przez spark

Brak wywołania funkcji może być spowodowane tym, że element #content nie zdąży być załadowany aby wprowadzić w niego treść. Spróbuj użyć funkcji ready() do elementu document. Funkcja ta powoduje to, że kod w niej zostanie wykonany po załadowaniu wszystkich elementów html https://learn.jquery.com/using-jquery-core/document-ready/.

Spróbuj tego:

$( document ).ready(function() {
    function runExe(){
        $("#content").load("php/runexe.php");
    }
    runExe();
});

 

komentarz 18 września 2015 przez Benek Szeryf (91,110 p.)
Troszkę opóźniona odpowiedź, ale faktycznie teraz działa. Dziękuję.
0 głosów
odpowiedź 10 września 2015 przez Comandeer Guru (602,340 p.)

A gdzie ten kod jest wywołany? W head?

0 głosów
odpowiedź 11 września 2015 przez Benek Szeryf (91,110 p.)

Nie, w body. Generalnie użyłem:

window.onload = runExe;

i zadziałało. Przyznam szczerze, że JS znam mało.

komentarz 11 września 2015 przez Comandeer Guru (602,340 p.)
Musiałeś wywołać funkcję przed wczytaniem się elementu #content, stąd nie działało

Podobne pytania

0 głosów
0 odpowiedzi 232 wizyt
+1 głos
2 odpowiedzi 480 wizyt
pytanie zadane 2 lipca 2018 w JavaScript przez fyrr Użytkownik (910 p.)
0 głosów
1 odpowiedź 135 wizyt
pytanie zadane 28 marca 2018 w JavaScript przez OdsetekGlupoty Pasjonat (15,360 p.)

92,626 zapytań

141,484 odpowiedzi

319,838 komentarzy

62,006 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...