本书介绍了JavaScript与Jscript编程的各方面知识,包括利用客户机方脚本和文档对象模型进行Web浏览器编程,利用服务器方脚本、活动服务器页面、JSP和LiveWire进行Web服务器方编程,还将介绍Rhino与WSH。更重要的是,本书将介绍如何把所有JavaScript 编程的各个方面知识综合起来,开发动人、信息灵通、易于使用的Web应用程序。前言有了HTML、XHTML、XML、Java和ActiveX等Web开发技术,为什么还要花时间学习JavaScript呢?如果与当前诸多Web编程语言提供的能力相比较,则答案不言自明:XHTML和HTML特别适合生成静态Web页面,但无法设计动态地响应用户输入的页面,而JavaScript能够。XML语言定义了其他标志语言,是生成高级Web应用程序的重要技术。但和HTML一样,XML也缺乏JavaScript的动态编程功能。Java和ActiveX特别适用于生成嵌入Web页面的组件,但因为安全的原因,其输出显示只限于浏览器窗口的有限区域内。此外,如果要开发Java和ActiveX组件,则必须进行大量编程工作。JavaScript能提供安全而方便的编程方法,开发访问各种浏览器应用程序的脚本(Script)。JavaScript允许将HTML文档、Web组件(可能用Java和ActiveX写成)和多媒体插入件集成于一体,开发动态的、可响应各种用户输入的、能访问多媒体和样式单等高级浏览器功能的Web应用程序。此外,Netscape浏览器的LiveConnect特性和Microsoft浏览器使JavaScript能直接访问Java小程序(Applet)的变量和方法,对插入件的操作和执行进行精细的控制。如果这些理由仍不足以让你学习JavaScript,请接着读下去。 JavaScript也可用于开发服务器中使用的Web应用程序。Netscape和Microsoft的Web服务器都支持服务器方JavaScript。此外,许多Java Server Pages(JSP)平台的销售商都支持用JavaScript作为程序设计语言。可以用JavaScript代替所有用Perl、C语言和Shell编程语言写成的CGI脚本。Microsoft公司的Active Server Pages(ASP)还可以用Script开发集成的客户机/服务器应用程序,从而大大简化浏览器与服务器的通信编程,使服务器脚本的输出自动变成浏览器客户机的HTML。Netscape服务器可以用服务器方JavaScript建立脚本,实现类似的应用。Microsoft将JScript与Windows Scripting Host(WSH)和远程脚本宿主技术集成在一起。Mozilla项目提供开放源代码JavaScript编程环境,称为Rhino。本书将介绍JavaScript与JScript编程的各方面知识,包括利用客户机方脚本和文档对象模型进行Web浏览器编程,利用服务器方脚本、活动服务器页面、JSP和LiveWire进行Web服务器方编程,还将介绍Rhino与WSH。更重要的是,本书将介绍如何把所有JavaScript编程的各个方面知识综合起来,开发有吸引力、信息灵通、易于使用的Web应用程序!本书使用的约定本书使用一些规则使阅读更加方便:大小写虽然大小写在HTML和JavaScript中无关紧要,但为清晰起见,所有HTML元素用大写,所有JavaScript元素用小写,对于Java元素,则采用人们已经习惯的写法。*脚本和代码清单中用这个连续箭头表示续行,分行只是因为书页的宽度所限,在文本编辑器中,既不用分行也无需使用箭头标记,就将两行输入到一个长行中即可。准备知识:HTML本书的对象是要学习和掌握JavaScript编程方法的读者。阅读本书不需要JavaScript方面的编程经验和知识,但最好对HTML(超文本标记语言)有基本的了解。本书联机附录A中提供了HTML参考手册。如果不熟悉HTML,建议使用Web上的联机教材进行学习。要寻找这些教材,用浏览器检索功能找到文本“HTML tutorial”。也可以从URL www.toolery.com/javascript/寻找联机教程和其他信息的链接。硬件与软件需求本书面向使用Windows的用户,但所介绍的JavaScript也适用于支持Netscape Communi-cator、Microsoft Internet Explorer或Opera Software Opera浏览器(http://www.operasoftware .com)的平台,包括Windows、Macintosh、Linux或Unix变形系统。如果是使用Windows和Netscape Communicator或Internet Explorer,建议用奔腾以上处理器,至少32MB内存。也可以用16MB内存,但这时浏览器会慢得令人无法忍受。要开发服务器方JavaScript应用程序,需要Netscape或Microsoft Web服务器,或者JSP平台。选择浏览器要充分利用本书中介绍的功能,建议用Netscape Communicator 6以上或Microsoft Internet Explorer 5.5以上版本。本书介绍的JavaScript 1.5是两个浏览器都支持的。本书的编排本书各章分为3个基本组成部分:关于JavaScript某个方面应用的背景信息;关于JavaScript在相应方面的Web应用程序开发方法的介绍;JavaScript具体的编程实例。这本书很厚,因为能用JavaScript完成的工作很多,要掌握JavaScript编程的各个方面,需要学很多东西。全书分为6个部分,共31章。第七部分共5章放在本书的选配光盘上。本书还有6个附录。第一部分:JavaScript和JScript初步第一部分(第1章到第6章)介绍JavaScript语言的基本元素和如何编写简单的脚本、JavaScript语言的语法并说明其在浏览器编程中的使用方法,还要介绍JavaScript对基于对象编程的支持和JavaScript的预定义对象。这些预定义对象使脚本能控制浏览器显示信息的方式,还可控制浏览器响应用户事件的方法。掌握这些对象是成为JavaScript专业编程人员的入门钥匙。第二部分:编程文档对象和模型第二部分(第7章到第13章)介绍JavaScript预定义对象的细节及如何在样本脚本中使用这些对象的属性和方法。读完第二部分,你便会熟悉了JavaScript浏览器的编程方法,从而为第三部分的学习打下基础。读者将可以编写脚本,利用JavaScript生成各种实用的主页。第三部分:开发组件与应用程序这个部分(第14章到第20章)介绍如何利用JavaScript,来有效地改进生成的Web页面。介绍如何在JavaScript中实现可以使用和复用的组件,如何把这些组件集成到Web页面中。介绍如何用这些组件开发电子商务Web应用程序。还要开发一些JavaScript游戏。读完第三部分,你便会熟悉客户端JavaScript编程的基本方法。第四部分:使用XML兼容浏览器第四部分(第21章到第26章)介绍JavaScript如何与XML结合,开发高级Web应用程序。我们将介绍如何建立XML样式,以便在Netscape Communicator与Microsoft Internet Explorer中显示。我们将介绍怎样编Netscape Communicator与Microsoft Internet Explorer中的XML脚本,以及如何用XSLT将XML文件转换成JavaScript代码,然后介绍如何开发基于XML的Web应用程序和使用浏览器特定的XML功能。第五部分:与Java、ActiveX和插入件通信第五部分(第27章到第29章)介绍Java小程序、ActiveX组件和浏览器插入件,介绍其如何与JavaScript组合。我们介绍如何用JavaScript装入、控制Java小程序和与Java小程序通信,并介绍Java小程序如何调用JavaScript函数。介绍ActiveX,并介绍怎样用JScript编写ActiveX对象的脚本。最后,我们还将介绍浏览器插入件是如何工作的,如何用JavaScript装入插入件并与插入件通信。第六部分:Shell编程第六部分(第30章到第31章)介绍如何用JavaScript开发有用的shell脚本,我们介绍Mozilla.org公司开发的开放源代码Rhino脚本环境及举例说明其如何将结构化文本文件转变为JavaScript幻灯片显示。我们还将介绍如何用Microsoft的Windows Scripting Host开发Windows应用程序脚本。附录本书包含6个附录,提供重要的JavaScript参考信息。附录A和附录B介绍JavaScript数学函数库及其支持的正则表达式。附录C、附录D、附录E提供的参数资料描述了由ECMAScript第3版、Document Object Model(DOM)Level 0和DOM Level 1定义的JavaScript对象、属性、方法和事件处理器。光盘内容本书选配光盘上有关于服务器方编程的5个章节(第32章到第36章),介绍如何用Java-Script开发服务器方应用程序。介绍公用网关接口(CGI,Common Gateway Interface)及服务器方CGI脚本与客户端JavaScript脚本如何交互。介绍LiveWire与LiveWire Database Servic