編程處理聊天室刷新問題(來源:賽迪網—中國計算機報)
發表時間:2024-01-15 來源:明輝站整理相關軟件相關文章人氣:
[摘要]編程解決聊天室刷新問題 編寫聊天室程序時,通常,我們有兩種把服務器數據傳到瀏覽器的方式。一種是在服務器端有信息后,把信息推到客戶端,這種方式使服務器的負載比較重;另一種就是在客戶端用refresh命令進行刷新,大多數的聊天室都采用這種方式,這就使得我們在瀏覽器上看到屏幕在不斷地刷新,非常影響瀏覽,...
編程解決聊天室刷新問題
編寫聊天室程序時,通常,我們有兩種把服務器數據傳到瀏覽器的方式。一種是在服務器端有信息后,把信息推到客戶端,這種方式使服務器的負載比較重;另一種就是在客戶端用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="javascript"〉
function scrollon(){
top.main1.scroll(0, 65000);
}
top.main1.document.write(‘〈=request("comment")〉’)
top.main1.document.ite‘〈br〉’)
〈/script〉
用上面的方法在輸入聊天內容時,在聊天室顯示區中,用戶就可以看到內容一行一行向下寫,而沒有出現屏幕不斷刷新的情況。大家只要改變list.asp,就可以從數據庫中或者從application對象中得到聊天內容了。只是有可能list.asp需要刷新,但是對于在聊天室中聊天的人來說,聊天內容是一行一行向下移動的,他們是感覺不到屏幕刷新的。