Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1524091
  • 博文数量: 465
  • 博客积分: 8915
  • 博客等级: 中将
  • 技术积分: 6365
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-30 15:05
文章分类

全部博文(465)

文章存档

2017年(33)

2016年(2)

2015年(4)

2014年(29)

2013年(71)

2012年(148)

2011年(178)

分类: Java

2012-05-11 16:24:10

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://blog.chinaunix.net/space.php?uid=13164110&do=blog&id=3195992

 

阅读(428) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~