用JavaScript 来写浏览器上的应用
2012-05-11 16:29
162 查看
用[/b]JavaScript [/b]来写浏览器上的应用[/b][/b]
我要做一个聊天室[/b][/b]
大概是在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 的思想如出一辙。
虽然这个聊天室在beta 0 时还尝试支持了NN 4,但在beta 1 时就放弃了,因为IE 4 提供的DHTML 模型已经可以使用insertAdjacentHTML 动态更新网页了,而NN 4 仍只能调用document.write 来修改页面。
本文节选自《JavaScript语言精髓与编程实践(第2版)》一书。
图书详细信息:http://bvbroadview.blog.51cto.com/addblog.php
我要做一个聊天室[/b][/b]
大概是在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 的思想如出一辙。
虽然这个聊天室在beta 0 时还尝试支持了NN 4,但在beta 1 时就放弃了,因为IE 4 提供的DHTML 模型已经可以使用insertAdjacentHTML 动态更新网页了,而NN 4 仍只能调用document.write 来修改页面。
本文节选自《JavaScript语言精髓与编程实践(第2版)》一书。
图书详细信息:http://bvbroadview.blog.51cto.com/addblog.php
相关文章推荐
- 建站有很多技术,如 HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、http://ASP.NET、Web Services、浏览器脚本、服务器脚本等。它们的区别是什么?新手一点不懂,想理清所有这些技术之间的关系和应用范围。
- Selenium2学习-022-WebUI自动化实战实例-020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小)
- 求助 javascript以及css滤镜详细介绍,在IE以及火狐、chrome等主流浏览器下的详细应用教程
- 求助 javascript以及css滤镜详细介绍,在IE以及火狐、chrome等主流浏览器下的详细应用教程
- javascript 的高级应用 获取浏览器的信息:使用navigator对象
- Pyjamas - 用python代替javascript编写基于浏览器的应用
- TraceGL监控Node.js应用或者浏览器JavaScript代码
- 浏览器javascript书签小应用
- 用JavaScript来写浏览器上的应用
- 用JavaScript 来写浏览器上的应用
- 用python代替javascript编写基于浏览器的应用
- 如何解决在ASP.NET中应用JavaScript的 alert 函数时弹出的窗口背景全部为白色的问题
- 转 iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
- Javascript、Jquery获取浏览器和屏幕各种高度宽度
- html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia
- javascript 浏览器调用原理
- 如何从你的BlackBerry应用中启动浏览器
- IE8"开发人员工具"使用详解下(浏览器模式、文本模式、JavaScript调试、探查器)
- JavaScript之浏览器对象