1.2 用JavaScript来写浏览器上的应用
1.2.1 我要做一个聊天室
大概是在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 聊天室的beta 1的界面 |
这个聊天室的功能集设定见表1-1。
表1-1 聊天室beta 1的功能集设定
|
分类 |
功能 |
概要 |
|
用户 |
设定名字、昵称、肖像 |
用户功能按钮1,对话框 |
|
照片上传并显示给所有人 |
用户功能按钮1,对话框 | |
|
更改名字、昵称、肖像 |
用户功能按钮2~4,快速更换 | |
|
消息 |
在当前房间发消息 |
普通聊天 |
|
向指定用户发消息 |
用户功能按钮6,私聊功能 | |
|
向所有房间发消息 |
用户功能按钮6,通告功能 | |
|
房间 |
转到指定房间 |
用户功能按钮6,对话框 |
|
创建新房间 |
房间功能按钮1 | |
|
房间更名 |
房间功能按钮2 | |
|
设定房间初始化串 |
房间功能按钮3 | |
|
界面 |
显示/不显示昵称 |
用户功能按钮5,动态切换 |
|
工具 |
按名称查找房间 |
用户功能按钮6,对话框 |
|
按照ID/名字查找用户 |
用户功能按钮6,对话框 | |
|
踢人 |
房间功能按钮4 |
在这个聊天室的右上角有一个“隐藏帧”,是用FRAMESET来实现的。这是最早期实现Web RPC(Remote 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来修改页面。
| 回书目 上一节 下一节 |
|
||||
| · iSCSI应用与发展 · CISSP认证成长之路 · 隐私保护技术探讨 · 华为员工自杀频频拷问.. · FTTx光纤接入 · Windows Server 2008专.. · 开源虚拟化技术Xen · WCF开发基础 |
· Linux——从菜鸟到高手 · 微软出价446亿美元收购.. · SQL Server 2008/2005.. · RAID——磁盘阵列基础 · 微软Forefront企业安全.. · 如何优化IT 控制能耗 · 国际文档格式标准开战 · 珊瑚虫QQ作者侵权案开庭 |
|||
|
||||
| · VPN技术 · iSCSI应用与发展 · SQL Server 2008/2005.. · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · 深入了解PGP加密技术 |
· 病毒查杀专题 · VPN技术 · 国际文档格式标准开战 · SSL VPN详细知识 · Linux防火墙 · 打造安全服务器 · Sniffer安全技术从入门.. · 木马原理与防范 |
|||
|
||||
| · SQL Server 2008/2005.. · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 身份认证技术 · 病毒查杀专题 |
· 清除流氓软件——51CTO.. · SSL VPN详细知识 · Sniffer安全技术从入门.. · VPN技术 · 了解统一威胁管理(UTM).. · 网络钓鱼 · ADSL应用面面俱到 · ADSL应用面面俱到 |
|||