Autor Zpráva
vuuul
Profil
Zdravím

chtěl bych , aby následující skript vypsal alert, v případě, že dojde ke změně velikosti souboru data.txt. V takovéto situaci by mělo dojít ke změně proměnné velzme (při proběhnutí funkce kontrola), k čemuž ale nedochází.
<script>
var velpuv = <?php $filename = 'data.txt'; echo filesize($filename); ?>;

function kontrola()
{
velzme = <?php $filename = 'data.txt'; echo filesize($filename); ?>;
casovac=setTimeout("kontrola()",1000)

if(velzme!=velpuv)
{
alert("zmeneno")
}
}
</script>
Předem děkuji za radu.
DJ Miky
Profil
PHP se vykonává na straně serveru, tedy dříve, než JavaScript (ten se vykonává až u klienta). Proto se za velikost dosadí dvě stejné hodnoty a pro JavaScript to budou neměnné konstanty. Můžeš si to ověřit, že si otevřeš zdrojový kód - budou tam natvrdo obě dvě čísla dosazená.

Řešením je načítat aktuální hodnotu voláním PHP skriptu např. pomocí AJAXu. (Návodů na AJAX je na internetu spousta, stačí použít Google.)
_es
Profil
vuuul:
Radu si už predsa dostal.
vuuul
Profil
_es:
to byla jina zalezitost, tu jsem jiz vyresil, ale nastal tento problem
DJ Miky:
Diky za objasneni, zkusim si najit reseni :)
_es
Profil
vuuul:
to byla jina zalezitost
Na ktorú ale pasuje stále tá istá rada.

Diky za objasneni
Skoro rovnaké objasnenie máš aj v tom odkazovanom článku.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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