Ciao a tutti,
stō facendo una semplice chat ajax usando uno scroller orizzontale sviluppato da terzi..
Ho giā creato i service php che forniranno i feeds dei messaggi, il problema č valorizzare periodicamente un certo DIV, l'html č il seguente:
Codice PHP:
<div id="livechat">
<div id="wrapchat">
<h2>Morrison's Live chat</h2>
Lascia il tuo messaggio in questo spazio</p>
<input type="text" name="message" value="" /><input type="button" name="submit" value="send" /></p>
<div id="scroller-h" style="height: 35px; width: 800px; font: normal normal 900 30px Verdana;"></div>
<script type="text/javascript">divScroller("scroller-h", "h", 1, 3000);</script>
</div>
</div>
<div id="tab">[url="javascript:animateHeight('livechat','180')"][img]<?php bloginfo('template_directory'); ?>/images/btn_chat.gif[/img][/url]</div>
In pratica ho creato una funzione che prende i messaggi da questo feed e li spara sul div creando questo effetto "Live", la funzione č la seguente
Codice PHP:
function valorizeDiv (divid) {
divid = "scroller-h";
var bridge = getAjax();
bridge.onreadystatechange = function() {
if(bridge.readyState == 4) {
if (bridge.status == 200) {
var txt = document.getElementById('scroller-h');
txt.innerHTML = bridge.responseText;
divScroller("scroller-h", "h", 1, 3000);
}else {
alert([
"Something wrong",
"Status: ".concat(bridge.status),
"Response: ".concat(bridge.responseText)
].join("\n"));
}
}
}
bridge.open('POST', '/getMessage.php', true);
bridge.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
bridge.setRequestHeader('Connection', 'close');
bridge.send("");
}
e la richiamo all'onload della pagina
<script>
window.onload = setInterval("valorizeDiv('scroller-h')", 1000);
</script>
Il problema č che il il messaggio va sempre piu veloce fino a farmi impallare la cpu..
Qualcuno mi sā aiutare??
Thx