用JavaScript 来写浏览器上的应用

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 RPCRemote Procedure Call)的方法,那时网页开发还不推荐使用IFrame,也没有后来风行的AJAX。因此从浏览器下方的状态栏中,我们也可以看到这个聊天室在调用服务器上的.dll——这就是那个用Delphi 写的ISAPI CGI。当时我还不知道PHP,而且ASP也并不那么流行。

这个聊天室在浏览器上大量地使用了JavaScript。一方面,它用于显示聊天信息、控制CSS 显示和实现界面上的用户交互;另一方面,我用它实现了一个Command Center,将浏览器中的行为编码成命令发给服务器的ISAPI CGI。这些命令被服务器转发给聊天室中的其他用户,目标用户浏览器中的JavaScript 代码能够解释这些命令并执行类似于“更名”、“更新列表”之类的功能——服务器上的ISAPI 基本上只用于中转命令,因此效率非常高。你可能已经注意到,这其实与现在的AJAX 的思想如出一辙。

虽然这个聊天室在beta 0 时还尝试支持了NN 4,但在beta 1 时就放弃了,因为IE 4 提供的DHTML 模型已经可以使用insertAdjacentHTML 动态更新网页了,而NN 4 仍只能调用document.write 来修改页面。

 

 

 

 

本文节选自《JavaScript语言精髓与编程实践(2)》一书。

图书详细信息:

http://www.cnblogs.com/broadview/archive/2012/05/04/2482240.html

 

posted @ 2012-05-11 16:25  博文视点(北京)官方博客  阅读(207)  评论(0编辑  收藏  举报