用JavaScript來寫瀏覽器上的應用
我要做一個聊天室
大概是在1998
年12 月中旬,我的個人網站完工了。這是一個文學網站,這個網站在瀏覽器上用到了Java Applet和JavaScript,並且為IE 4.0的瀏覽器提供了一個稱為“搜尋助手”的浮動條(FloatBar),用於快速地向伺服器提交查詢文章的請求。而伺服器上則使用了用Delphi開發的ISAPI/CGI,運行於當時流行的Windows
NT上的IIS 系統。
我接下來冒出的想法是:要做一個聊天室。因為在我的個人網站中,論壇、BBS等都有其他網站免費提供,唯獨沒有聊天室。
1999 年春節期間,我在四川的家中開始做這個聊天室並完成了原型系統(我稱之為beta 0);一個月後,這個聊天室的beta 1終於在互連網上架站運行(1-1
所示)。
這個聊天室的功能集設定見表1-1。
在這個聊天室的右上方有一個“隱藏幀”,是用Frameset來實現的。這是最早期實現Web RPC(Remote Procedure Call)的方法,那時網頁開發還不推薦使用IFrame,也沒有後來風行的AJAX。因此從瀏覽器下方的狀態列中,我們也可以看到這個聊天室在調用伺服器上的.dll——這就是那個用Delphi寫的ISAPI
CGI。當時我還不知道PHP,而且ASP也並不那麼流行。
這個聊天室在瀏覽器上大量地使用了JavaScript。一方面,它用於顯示聊天資訊、控制CSS顯示和實現介面上的使用者互動;另一方面,我用它實現了一個Command Center,將瀏覽器中的行為編碼成命令發給伺服器的ISAPI
CGI。這些命令被伺服器轉寄給聊天室中的其他使用者,目標使用者瀏覽器中的JavaScript代碼能夠解釋這些命令並執行類似於“更名”、“更新列表”之類的功能——伺服器上的ISAPI基本上只用於中轉命令,因此效率非常高。你可能已經注意到,這其實與現在的AJAX
的思想如出一轍。
雖然這個聊天室在beta0
時還嘗試支援了NN 4,但在beta 1時就放棄了,因為IE 4
提供的DHTML模型已經可以使用insertAdjacentHTML
動態更新網頁了,而NN 4仍只能調用document.write
來修改頁面。
本文節選自《JavaScript語言精髓與編程實踐(第2版)》一書。
圖書詳細資料:http://blog.csdn.net/broadview2006/article/details/7533809