Autor Zpráva
Jaroslavv
Profil *
Ahoj, ejsem žádný programátor proto se obracím na zde zkušené odborníky. Potřeboval bych načíst v JS jednu hodnotu ze souboru.php a tu každou sec. odpočítávat. Až bude výsledek 0 spustit soubor start.php. Najde se někdo? Děkuji za pomoc, Jarda
_es
Profil
Jaroslavv:
Potřeboval bych načíst v JS jednu hodnotu ze souboru.php
Hľadaj AJAX.

tu každou sec. odpočítávat.
Ak si tou hodnotou myslel celé číslo a odpočítavaním myslel zmenšovanie o 1, tak:
// Z AJAXu je načítaná premenná i
var t = setInterval(function(){if(i-- === 0){clearInterval(t); spusti start.php;}}, 1000);

Až bude výsledek 0 spustit soubor start.php.
Čo v tvojom ponímaní znamená „spustiť súbor start.php“ už vyveštiť neviem.
Witiko
Profil
Vyžádání php souboru provedeš pomocí technologie zvané Ajax.
window.onload = function() {
  var žádost, timeout = 30000, timeoutId, init = function(soubor) {
    žádost.open("GET", soubor, true);
    žádost.send(null);
  };
  
  if(window.XMLHttpRequest)
    žádost = new XMLHttpRequest();
  else if(window.ActiveXObject)
    žádost = new ActiveXObject("Microsoft.XMLHTTP");
  else return;
  
  žádost.onreadystatechange = function() {
    if(žádost.readyState === 4 && žádost.status === 200) {
      clearTimeout(timeoutId);
      setTimeout(function() {      
        žádost.onreadystatechange = function() {
          if(žádost.readyState === 4 && žádost.status === 200)
            clearTimeout(timeoutId);
        };
        timeoutId = setTimeout(function() {
          žádost.abort();
          init("start.php");
        }, timeout);        
        init("start.php");        
      }, Number(žádost.responseText) * 1000);      
    }
  };
  
  timeoutId = setTimeout(function() {
    žádost.abort();
    init("soubor.php");
  }, timeout);  
  init("soubor.php");
}


_es:
Ak si tou hodnotou myslel celé číslo a odpočítavaním myslel zmenšovanie o 1
Myslím, že to bude totožné se zápisem:
setTimeout(function(){...}, i * 1000);
Alespoň tedy pokud Jaroslavv nehodlá odpočítávanou proměnnou někde zobrazovat, což neuvedl.

Čo v tvojom ponímaní znamená ‚spustiť súbor start.php‘ už vyveštiť neviem.
Tipuji načíst php soubor bez využívání případných navrácených dat za účelem provedení změn(y) na straně serveru. - Fire'n'forget :-)

PS: Jsem jediný, kdo by rád používal v kódu komentáře? Protože jush se s nimi viditelně nerad.
_es
Profil
Witiko:
Myslím, že to bude totožné se zápisem
Vlastne áno, len to bude i*1000.

Konštrukcia (XMLHttpRequest || ActiveXObject) je nesprávna, ak prehliadač nepodporuje objekt XMLHttpRequest, tak tento výraz spôsobí chybu a ukončenie kódu, pokus o získanie ActiveX objektu nenastane.

Aj tam sa obávam, že si Jaroslavvov dotaz nevyveštil celkom správne, to odpočítavanie po sekunde tam neviem dešifrovať, nech už to znamená hocičo.

V princípe je asi lepšie trvať najprv na upresnení a doplnení dotazu, než tipovať výklad vágnych termínov v dotaze a vyrábať hneď kompletný skript.
Witiko
Profil
_es:
Opraveno.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0