無重新整理聊天室技術實現方法(ASP相關)_PHP

來源:互聯網
上載者:User
關鍵字 相關 方法 實現 聊天室 技術 重新整理
無重新整理聊天室技術實現方法
  
一、統一名詞
文字框:顯示聊天內容的架構頁面
輸入框:輸入聊天資訊的架構頁面
重新整理框:自重新整理擷取最新聊天資訊的架構頁面,該頁面不直接顯示出來

二、如何?
實現無重新整理,就是要在當前文字框聊天內容後面不斷的添加新的聊天資訊。
實現的方式是“添加新資訊”,而不是“重新重新整理”。

三、技術要點
實現像chat.163.com的無閃爍重新整理的聊天室要用到的關鍵代碼:
1.自重新整理:

2.向html檔案寫代碼:


四、例子
1.frame.asp頁面。最簡單的包含三個架構頁
文字框frametext.htm;name=frametext
輸入框frameinput.asp;
重新整理框framerefresh.asp;

2.文字框frametext.htm內容:
最簡單的常值內容。略

3.輸入框frameinput.asp內容:


4.重新整理框framefresh.asp內容(關鍵)
......
<%
'此處用代碼擷取最新的聊天資訊
'最新資訊儲存在數組ArrRecord()
'OutNum參數紀錄是否有新的聊天紀錄出現
%>




.....
<%
if OutNum>0 then '對於使用者來講,如果有新的資訊的話,則輸出新資訊,否則不
輸出
response.write ""
end if
%>
.....

五、相關問題
1.自重新整理存在的一個問題是焦點定位問題(也就是自動滾屏的問題)。使用者在文
本框看到的都是第一次進入chatroom看到的內容的位置,不會自動滾屏到新資訊
的位置,必須滾動滾動欄才可以。
在chat.163.com,它通過使用者點選“自動滾屏”的方法來實現。其實就是選擇“
自動滾屏”,程式將啟用控制文字框滾屏的一個js程式,關鍵區段為:
function ScrollWindow()
{
.....
this.scroll(0, 65000); //將文字框scroll到指定的位置。這裡選定(0,65000)
,就是指向最左下角的位置,由於螢幕高度才600不到,所以在一個使用者聊天過程
中,幾乎永遠不可能達到(0,65000)的位置。這樣就保證了螢幕永遠滾到最底層。

setTimeout('scrollWindow();',200); //迴圈。否則只滾動一次是沒用的
}

2.清屏。如果不清屏,一直開著聊天視窗,文字框文字內容將永無止境的增加。
清屏可以通過reload 文字框頁面的方法實現。
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.