Autor | Zpráva | ||
---|---|---|---|
Baly Profil * |
#1 · Zasláno: 28. 10. 2009, 22:20:49
Zdravím, mám následující kód:
<html> <body> <body onload="refresh(); datum();"> <script type="text/javascript"> var http,timer,refreshh, date; if (window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); } else { alert("Váš Browser Nepodporuje XMLHTTP!"); } function odeslat() { http.open("GET","zkouska.php?text="+document.forma.textik.value+"&nick="+document.forma.jmeno.value, true); http.send(null); http.onreadystatechange = function() { if (http.readyState == 4) { text.innerHTML=http.responseText; } document.forma.textik.value=""; } return false; } function refresh() { http.open("GET","zkouska.php?status=refresh", true); http.send(null); http.onreadystatechange = function() { if (http.readyState == 4) { text.innerHTML=http.responseText; } } refreshh = document.forma.refresh.value; if (refreshh < 5) { refreshh = 5; } if (refreshh > 60) { refreshh = 60; } document.forma.refresh.value=refreshh; timer = setTimeout("refresh()", refreshh*1000); } function interval() { } function datum() { var clear = clearTimeout(date); http.open("GET", "zkouska3.php", true); http.send(null); http.onreadystatechange = function() { if (http.readyState != 4 || http.status != 200) { datumm.innerHTML="nacitam..."; } if (http.readyState == 4) { datumrefresh(); datumm.innerHTML=http.responseText; } } } function datumrefresh() { date = setTimeout("datum()", 10000); } </script> <div id="text"></div> <form method="POST" onSubmit="return odeslat()" name="forma"> Nick: <input type="text" name="jmeno" size="6"> Text: <input type="text" size="50" name="textik"> <input type="submit" value="odeslat"> refresh <input type="text" size="1" name="refresh" value="5">s </form> <div id="datumm"></div> </body> </html> Je to chat a pod ním je ukázáno datům a čas. Chat i datum se refreshují rozdílně a v rozdílných intervalech. Jenomže problém je v tom, že při refreshi chatu se okamžitě začne pokoušet o refresh i to datum, nemám zdání proč. žívá ukázka: http://yama.kx.cz/zkouska.html |
||
Baly Profil * |
#2 · Zasláno: 29. 10. 2009, 10:46:21
hmm, našel jsem problém... nacítání se spustí při http statusu 4, a to je u všech funkcí stejně, takže se asi spustí všechny za ráz. Jenomže se mi nedaří je od sebe nějak odlišit
|
||
Baly Profil * |
#3 · Zasláno: 29. 10. 2009, 12:09:24
Problém vyřešen, vytvořil jsem 2 různé httprequesty:
if (window.XMLHttpRequest) { http = new XMLHttpRequest(); prikaz = new XMLHttpRequest(); } else if (window.ActiveXObject) { http = new ActiveXObject("Microsoft.XMLHTTP"); prikaz = new ActiveXObject("Microsoft.XMLHTTP"); } |
||
Časová prodleva: 14 let
|
0