本書介紹了JavaScript與Jscript編程的各方面知識,包括利用客戶機方腳本和文檔對象模型進行Web瀏覽器編程,利用服務器方腳本、活動服務器頁面、JSP和LiveWire進行Web服務器方編程,還將介紹Rhino與WSH。更重要的是,本書將介紹如何把所有JavaScript 編程的各個方面知識綜合起來,開發(fā)動人、信息靈通、易于使用的Web應用程序。前言有了HTML、XHTML、XML、Java和ActiveX等Web開發(fā)技術,為什么還要花時間學習JavaScript呢?如果與當前諸多Web編程語言提供的能力相比較,則答案不言自明:XHTML和HTML特別適合生成靜態(tài)Web頁面,但無法設計動態(tài)地響應用戶輸入的頁面,而JavaScript能夠。XML語言定義了其他標志語言,是生成高級Web應用程序的重要技術。但和HTML一樣,XML也缺乏JavaScript的動態(tài)編程功能。Java和ActiveX特別適用于生成嵌入Web頁面的組件,但因為安全的原因,其輸出顯示只限于瀏覽器窗口的有限區(qū)域內。此外,如果要開發(fā)Java和ActiveX組件,則必須進行大量編程工作。JavaScript能提供安全而方便的編程方法,開發(fā)訪問各種瀏覽器應用程序的腳本(Script)。JavaScript允許將HTML文檔、Web組件(可能用Java和ActiveX寫成)和多媒體插入件集成于一體,開發(fā)動態(tài)的、可響應各種用戶輸入的、能訪問多媒體和樣式單等高級瀏覽器功能的Web應用程序。此外,Netscape瀏覽器的LiveConnect特性和Microsoft瀏覽器使JavaScript能直接訪問Java小程序(Applet)的變量和方法,對插入件的操作和執(zhí)行進行精細的控制。如果這些理由仍不足以讓你學習JavaScript,請接著讀下去。 JavaScript也可用于開發(fā)服務器中使用的Web應用程序。Netscape和Microsoft的Web服務器都支持服務器方JavaScript。此外,許多Java Server Pages(JSP)平臺的銷售商都支持用JavaScript作為程序設計語言。可以用JavaScript代替所有用Perl、C語言和Shell編程語言寫成的CGI腳本。Microsoft公司的Active Server Pages(ASP)還可以用Script開發(fā)集成的客戶機/服務器應用程序,從而大大簡化瀏覽器與服務器的通信編程,使服務器腳本的輸出自動變成瀏覽器客戶機的HTML。Netscape服務器可以用服務器方JavaScript建立腳本,實現類似的應用。Microsoft將JScript與Windows Scripting Host(WSH)和遠程腳本宿主技術集成在一起。Mozilla項目提供開放源代碼JavaScript編程環(huán)境,稱為Rhino。本書將介紹JavaScript與JScript編程的各方面知識,包括利用客戶機方腳本和文檔對象模型進行Web瀏覽器編程,利用服務器方腳本、活動服務器頁面、JSP和LiveWire進行Web服務器方編程,還將介紹Rhino與WSH。更重要的是,本書將介紹如何把所有JavaScript編程的各個方面知識綜合起來,開發(fā)有吸引力、信息靈通、易于使用的Web應用程序!本書使用的約定本書使用一些規(guī)則使閱讀更加方便:大小寫雖然大小寫在HTML和JavaScript中無關緊要,但為清晰起見,所有HTML元素用大寫,所有JavaScript元素用小寫,對于Java元素,則采用人們已經習慣的寫法。*腳本和代碼清單中用這個連續(xù)箭頭表示續(xù)行,分行只是因為書頁的寬度所限,在文本編輯器中,既不用分行也無需使用箭頭標記,就將兩行輸入到一個長行中即可。準備知識: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內存,但這時瀏覽器會慢得令人無法忍受。要開發(fā)服務器方JavaScript應用程序,需要Netscape或Microsoft Web服務器,或者JSP平臺。選擇瀏覽器要充分利用本書中介紹的功能,建議用Netscape Communicator 6以上或Microsoft Internet Explorer 5.5以上版本。本書介紹的JavaScript 1.5是兩個瀏覽器都支持的。本書的編排本書各章分為3個基本組成部分:關于JavaScript某個方面應用的背景信息;關于JavaScript在相應方面的Web應用程序開發(fā)方法的介紹;JavaScript具體的編程實例。這本書很厚,因為能用JavaScript完成的工作很多,要掌握JavaScript編程的各個方面,需要學很多東西。全書分為6個部分,共31章。第七部分共5章放在本書的選配光盤上。本書還有6個附錄。第一部分:JavaScript和JScript初步第一部分(第1章到第6章)介紹JavaScript語言的基本元素和如何編寫簡單的腳本、JavaScript語言的語法并說明其在瀏覽器編程中的使用方法,還要介紹JavaScript對基于對象編程的支持和JavaScript的預定義對象。這些預定義對象使腳本能控制瀏覽器顯示信息的方式,還可控制瀏覽器響應用戶事件的方法。掌握這些對象是成為JavaScript專業(yè)編程人員的入門鑰匙。第二部分:編程文檔對象和模型第二部分(第7章到第13章)介紹JavaScript預定義對象的細節(jié)及如何在樣本腳本中使用這些對象的屬性和方法。讀完第二部分,你便會熟悉了JavaScript瀏覽器的編程方法,從而為第三部分的學習打下基礎。讀者將可以編寫腳本,利用JavaScript生成各種實用的主頁。第三部分:開發(fā)組件與應用程序這個部分(第14章到第20章)介紹如何利用JavaScript,來有效地改進生成的Web頁面。介紹如何在JavaScript中實現可以使用和復用的組件,如何把這些組件集成到Web頁面中。介紹如何用這些組件開發(fā)電子商務Web應用程序。還要開發(fā)一些JavaScript游戲。讀完第三部分,你便會熟悉客戶端JavaScript編程的基本方法。第四部分:使用XML兼容瀏覽器第四部分(第21章到第26章)介紹JavaScript如何與XML結合,開發(fā)高級Web應用程序。我們將介紹如何建立XML樣式,以便在Netscape Communicator與Microsoft Internet Explorer中顯示。我們將介紹怎樣編Netscape Communicator與Microsoft Internet Explorer中的XML腳本,以及如何用XSLT將XML文件轉換成JavaScript代碼,然后介紹如何開發(fā)基于XML的Web應用程序和使用瀏覽器特定的XML功能。第五部分:與Java、ActiveX和插入件通信第五部分(第27章到第29章)介紹Java小程序、ActiveX組件和瀏覽器插入件,介紹其如何與JavaScript組合。我們介紹如何用JavaScript裝入、控制Java小程序和與Java小程序通信,并介紹Java小程序如何調用JavaScript函數。介紹ActiveX,并介紹怎樣用JScript編寫ActiveX對象的腳本。最后,我們還將介紹瀏覽器插入件是如何工作的,如何用JavaScript裝入插入件并與插入件通信。第六部分:Shell編程第六部分(第30章到第31章)介紹如何用JavaScript開發(fā)有用的shell腳本,我們介紹Mozilla.org公司開發(fā)的開放源代碼Rhino腳本環(huán)境及舉例說明其如何將結構化文本文件轉變?yōu)镴avaScript幻燈片顯示。我們還將介紹如何用Microsoft的Windows Scripting Host開發(fā)Windows應用程序腳本。附錄本書包含6個附錄,提供重要的JavaScript參考信息。附錄A和附錄B介紹JavaScript數學函數庫及其支持的正則表達式。附錄C、附錄D、附錄E提供的參數資料描述了由ECMAScript第3版、Document Object Model(DOM)Level 0和DOM Level 1定義的JavaScript對象、屬性、方法和事件處理器。光盤內容本書選配光盤上有關于服務器方編程的5個章節(jié)(第32章到第36章),介紹如何用Java-Script開發(fā)服務器方應用程序。介紹公用網關接口(CGI,Common Gateway Interface)及服務器方CGI腳本與客戶端JavaScript腳本如何交互。介紹LiveWire與LiveWire Database Servic