| XMLHTTP+Javascript+Asp写的聊天室,无刷新实现 |
|
| 来源:网络收集 作者: 加入时间:2006-10-27 访问次数:48 [大 中 小] |
|
var sC=fm.says.value; var F=Me var T=fm.T.options[0].value; var E=document.oT.userface.selectedIndex; var W="0" var cL=fm.says.style.color; fm.says.value=""; fm.says.focus(); Ts.F=F; Ts.T=T; Ts.E=E; Ts.sC=sC; Ts.cL=cL; Ts.W=W; setTimeout("Ts.Send();",20); delete(F);delete(sC);delete(fm);delete(cL);delete(T);delete(E); return false; } function sendMsg() { if (this.T=="" && this.F=="") {alert("你要对谁说?");return;} cRld=1; var sS="F="+code(this.F)+"&T="+code(this.T)+"&sC="+code(this.sC)+"&cL="+this.cL+"&E="+this.E; sS=URLEncoding(sS) var oSend=new ActiveXObject("Microsoft.XMLHTTP"); oSend.open("POST","say.asp",false); oSend.setRequestHeader("Content-Length",sS.length); oSend.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");//没有这句就玩不转拉 oSend.send(sS); var oDom=new ActiveXObject("Microsoft.XMLDOM"); oDom.async=false; body=bytes2BSTR(oSend.responseBody); // alert(body); oDom.loadXML(body); if(oDom.parseError.errorCode != 0) { alert(body); alert("Sorry.出现了错误"); return } else {var aryF=oDom.documentElement.selectNodes("F"); var aryT=oDom.documentElement.selectNodes("T"); var arysC=oDom.documentElement.selectNodes("sC"); var arycL=oDom.documentElement.selectNodes("cL"); var arysJ=oDom.documentElement.selectNodes("sJ"); var aryE=oDom.documentElement.selectNodes("E"); var tmpHtml=""; var img=""; lengt=aryF.length; for(var i=0;i<lengt;i++){ img="<img alt=XMLHTTP+Javascript+Asp写得聊天室,无刷新实现 src="http://news.newhua.com/Newhua_Files/Net_pic/2006-2/5/062516092723674.gif" width=12 height=12 border=0>"; tmpHtml="<font style=\'cursor:hand;color:"+arycL(i).text+"\'>"+document.oT.userface.options[aryE(i).text].value+rp2(arysC(i).text, "{^amp]","&")+"</font> <span class=t>["+arysJ(i).text+"]</span><br>"; tmpHtml=rp2(tmpHtml,"$F","<a href=\"javascript:parent.sd.towho('"+aryF(i).text+"');\">"+img+aryF(i).text+"</a>"); tmpHtml=rp2(tmpHtml,"$T","<a href=\"javascript:parent.sd.towho('"+aryT(i).text+"');\">"+aryT(i).text+"</a>"); if (aryF(i).text==Me || aryT(i).text==Me) { parent.my.Ly.innerHTML+=tmpHtml; } else parent.pub.Ly.innerHTML+=tmpHtml; }// end for } delete(aryF);delete(aryT);delete(arysC);delete(arycL);delete(arysJ);delete(aryE); delete(oDom) delete(oSend) delete(tmpHtml) } function code(Str) {var A = new RegExp("'","gi") var B = new RegExp("\"","gi") Str = Str.replace(/&/gi,"&") Str = Str.replace(/</gi,"<") Str = Str.replace(/>/gi,">") Str = Str.replace(B,""") Str = Str.replace(/&/gi,"{^amp]") delete(A) delete(B) return(Str) } function rp2(Str,Fs,Is) {while (Str.indexOf(Fs)!=-1) Str = Str.replace(Fs,Is) delete(A); return(Str) }
#############续send.asp#################
var oRDom=new ActiveXObject("Microsoft.XMLDOM"); oRDom.async=false; var Path="reload.asp"; var tCok; function Clock() {cRld++; if (cRld>10){cRld=1;GetXmlData();} clearTimeout(tCok); tCok=setTimeout("Clock()",1000); } function GetXmlData() //这就是刷新用户XML数据的函数 {cRld=1; oRDom.load(Path) if(oRDom.parseError.errorCode != 0)
|
|
|
|
|
|