明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

編程處理聊天室刷新問題(來源:賽迪網(wǎng)—中國計(jì)算機(jī)報(bào))

[摘要]編程解決聊天室刷新問題 編寫聊天室程序時(shí),通常,我們有兩種把服務(wù)器數(shù)據(jù)傳到瀏覽器的方式。一種是在服務(wù)器端有信息后,把信息推到客戶端,這種方式使服務(wù)器的負(fù)載比較重;另一種就是在客戶端用refresh命令進(jìn)行刷新,大多數(shù)的聊天室都采用這種方式,這就使得我們?cè)跒g覽器上看到屏幕在不斷地刷新,非常影響瀏覽,...

編程解決聊天室刷新問題
編寫聊天室程序時(shí),通常,我們有兩種把服務(wù)器數(shù)據(jù)傳到瀏覽器的方式。一種是在服務(wù)器端有信息后,把信息推到客戶端,這種方式使服務(wù)器的負(fù)載比較重;另一種就是在客戶端用refresh命令進(jìn)行刷新,大多數(shù)的聊天室都采用這種方式,這就使得我們?cè)跒g覽器上看到屏幕在不斷地刷新,非常影響瀏覽,在網(wǎng)速慢的時(shí)候這種情況更為嚴(yán)重。

有沒有好的辦法能夠解決這個(gè)問題呢?答案是肯定的。下面筆者就給大家介紹一種用javascript來解決這種問題的方法。本方法雖然不是最好,但簡單易行,感興趣的讀者不妨一試。

首先,我們把網(wǎng)頁分成三幀。上面一幀為main.htm,用來顯示聊天的內(nèi)容;下面一幀為bottom.htm,用來輸入聊天內(nèi)容。然后,再增加一個(gè)隱藏幀list.asp,這個(gè)幀的作用就是使得輸入的信息能夠在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〉聊天內(nèi)容顯示區(qū)〈/title〉

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

〈/head〉

〈body bgcolor="#ffffff"〉

〈/body〉

〈/html〉

bottom.htm源程序如下:

〈html〉

〈head〉

〈title〉聊天內(nèi)容錄入?yún)^(qū)〈/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="javascript"〉

function scrollon(){

top.main1.scroll(0, 65000);

}

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

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

〈/script〉

用上面的方法在輸入聊天內(nèi)容時(shí),在聊天室顯示區(qū)中,用戶就可以看到內(nèi)容一行一行向下寫,而沒有出現(xiàn)屏幕不斷刷新的情況。大家只要改變list.asp,就可以從數(shù)據(jù)庫中或者從application對(duì)象中得到聊天內(nèi)容了。只是有可能list.asp需要刷新,但是對(duì)于在聊天室中聊天的人來說,聊天內(nèi)容是一行一行向下移動(dòng)的,他們是感覺不到屏幕刷新的。