RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-18:00
关闭右侧工具栏

新闻中心

这里有您想知道的资讯与动态
解决聊天室刷新问题
编写聊天室程序时,通常,我们有两种把服务器数据传到浏览器的方式。一种是在服务器端有信息后,把信息推到客户端,这种方式使服务器的负载比较重;另一种就是在客户端用refresh命令进行刷新,大多数的聊天室都采用这种方式,这就使得我们在浏览器上看到屏幕在不断地刷新,非常影响浏览,在网速慢的时候这种情况更为严重。

有没有好的办法能够解决这个问题呢?答案是肯定的。下面笔者就给大家介绍一种用javascript来解决这种问题的方法。本方法虽然不是最好,但简单易行,感兴趣的读者不妨一试。

首先,我们把网页分成三帧。上面一帧为main.htm,用来显示聊天的内容;下面一帧为bottom.htm,用来输入聊天内容。然后,再增加一个隐藏帧list.ASP,这个帧的作用就是使得输入的信息能够在main.htm帧中显示出来。以下是聊天室的源程序。

frame.htm源程序如下:

〈HTML〉

〈head〉

〈title〉asp酷聊天室〈/title〉

〈meta http-equiv=content-type content=text/html; arset=gb2312〉

〈/head〉

〈frameset rows=0,403,92 cols=*〉

〈frame src=list.asp name=list〉

〈frame src=main.htm name=main1〉

〈frame src=bottom.htm〉

〈/frameset〉

〈noframes〉

〈body bgcolor=#ffffff〉

〈/body〉〈/noframes〉

〈/html〉

main.htm源程序如下:

〈html〉

〈head〉

〈title〉聊天内容显示区〈/title〉

〈meta http-equiv=content-type content=text/html; charset=gb2312〉

〈/head〉

〈body bgcolor=#ffffff〉

〈/body〉

〈/html〉

bottom.htm源程序如下:

〈html〉

〈head〉

〈title〉聊天内容录入区〈/title〉

〈meta http-equiv=content-type content=text/html;charset=gb2312〉 〈/head〉

〈body bgcolor=#ffffff〉

〈form name=form1 method=post action=list.asp target=list〉

〈div align=center〉

〈input type=text name=comment〉

〈input type=submit name=submit value=写写看〉

〈/div〉

〈/form〉

〈/body〉

〈/html〉

list.asp源程序如下:

〈script language=〉

function scrollon(){

top.main1.scroll(0, 65000);

}

top.main1.document.write(‘〈=request(comment)〉’)

top.main1.document.ite‘〈br〉’)

〈/script〉

用上面的方法在输入聊天内容时,在聊天室显示区中,用户就可以看到内容一行一行向下写,而没有出现屏幕不断刷新的情况。大家只要改变list.asp,就可以从数据库中或者从application对象中得到聊天内容了。只是有可能list.asp需要刷新,但是对于在聊天室中聊天的人来说,聊天内容是一行一行向下移动的,他们是感觉不到屏幕刷新的。