Salve
Ho realizzato una piccola chat in asp utilizzando per il refresh della pagina di visualizzazione dei messaggi Ajax, il risultato è carino ma ho un unico problema, i messaggi della chat vengono aggiunti sempre in fondo alla pagina, mentre lo script che fa il refresh dei messaggi stessi anche se funziona, non mi fa scendere la pagina.
Questo è il codice della pagina che richiama la pagina dei messaggi e che fa fare il refresh della stessa:
<html>
<head>
<script language="javascript">
function callServer() {
// use the dom2 to find 'loadScript' in the head tag
var head = document.getElementsByTagName('head').item(0);
var scriptTag = document.getElementById('loadScript');
// if 'loadScript' already exists - remove it
if (scriptTag) head.removeChild(scriptTag);
// create a new element by the name of script
script = document.createElement('script');
//alert(CTime);
// set the new scripts properties
script.src = 'minimuro.asp#fondo';
script.type = 'text/javascript';
script.id = 'loadScript';
// move the element script into the head
head.appendChild(script);
}
setInterval(callServer, 1000); //500 millesimi = 0.5 secondi....
</script>
<title>Chatbox</title>
</head>
<style type="text/css">
<!--
body {
background-color: #FF9900;
}
-->
</style>
<body onLoad="callServer()">
<p id="contenuto" style="height: 155px; width: 260px;"></p>
</body>
</html>
e questa è la pagina minimuro.asp che viene richiamata dallo script e che contiene i messaggi:
<%
Response.Write(vbCrLf & "var strDati = ""<table width=\""100%\"" border=0><tr><td width='255' style='word-wrap:break-word; text-align:left'>")
%>
<%
' recupero messaggi
arrMsg = Application("msg")
if len(arrMsg) >0 then
arrMsg = Split(arrMsg, "#§#")
for j = 1 to ubound(arrMsg)
msg = Split(arrMsg(j), "|#|")
Response.write msg(0)
Response.write "<span class='Stile1'><a class='Stile1' href='scheda2.asp?idscheda="&msg(1)&"' target=_blank>"
Response.write msg(1) & "</a> - "
Response.write msg(2) &"
</span>"
next
Response.write "<a name=fondo></a>"
end if
%>
<%Response.Write("</td></tr></table>"";") %>
<%
Response.Write(vbCrLf & "var objDatiElement = document.getElementById(""contenuto"");")
Response.Write(vbCrLf & "objDatiElement.innerHTML = strDati;")
%>
Un grazie anticipato
Marco

Rispondi quotando