ajax做的无刷新聊天遇到的一个问题,召唤各位朋友帮忙看看,在线结帖
用XMLHTTP做了一个拖拽的无刷新聊天,基本功能已经晚上,但是遇到一个很怪的问题,聊天语句经常会丢失,于是做了跟踪调查.发现一个问题,但是以小弟的经验,不知道该怎么解决,特求助,问题如下:
聊天信息可保证有接收到,用alert弹出来该信息的话,句句都有,但是弹出的同时要写到窗体上的容器上,却有时候写不进去.我想了很久,会不会是容器有问题,就换了容器,而且同时在页面放了几种容器来测试,结果问题还是一样.
///拖拽代码
function GetResult()//ajax无刷新实现
{
var oBao = new ActiveXObject("Microsoft.XMLHTTP");
oBao.open("POST","GetMsg.aspx?id=<%=RoomID%>",false);
oBao.send();
var strResult = oBao.responseText;
var arrResult = strResult.split("‖");
//alert('接到数据');
for(var i=0;i<arrResult.length-1;i++)
{
//用来跟踪的一个TEXT,也是一样有时候写不进去
Form1.Temp.value = "";//
Form1.Temp.value = arrResult[i];
arrTmp = arrResult[i].split("|");
//ChatRun是执行信息输出到页面的function,有时候会写不进去.
ChatRun(arrTmp[0],arrTmp[1],arrTmp[2],arrTmp[3],arrTmp[4],arrTmp[5],arrTmp[6])
//将整个句子弹出,每句都有
alert(arrResult[i]);
}
setTimeout("GetResult()",1000);
}
///////////////////ChatRun
function ChatRun(username,post_obj,saystr,sl,addsign,sayscolor,number)
{
var oChatRoom = document.getElementById("ChatRoom");
var msg = "";
var gg = "";
msg = "<span class=chat4><a href=javascript:seluser('"+username+"');>"+username+"</a>对<a href=javascript:seluser('"+post_obj+"');>"+post_obj+"</a>说:<font color="+sayscolor+">"+saystr+"</font></span><br>";
oChatRoom.innerHTML += msg;
oChatRoom.scrollTop = 999999;
}