官术网_书友最值得收藏!

上一版譯者序

網上的生活越來越豐富多彩。從最初的(X)HTML網頁,到一度熱炒的DHTML概念,再到近幾年流行起來的CSS,網站和網頁的設計工作變得越來越簡便,網上的內容越來越富于變化和色彩。但是,很多網頁設計者和網民朋友都不太喜歡JavaScript,這主要有以下幾方面原因。第一,很多網頁設計者認為JavaScript的可用性很差——早期的瀏覽器彼此很少兼容,如果想讓自己編寫出來的JavaScript腳本在多種瀏覽器環境里運行,就必須編寫許多用來探測瀏覽器的具體品牌和具體版本的測試及分支代碼(術語稱之為“瀏覽器嗅探”代碼)。這樣的腳本往往到處是if...else語句,既不容易閱讀,又不容易復查和糾錯,更難以做到讓同一個腳本適用于所有的瀏覽器。第二,對廣大的網民來說,JavaScript網頁的可訪問性很差——瀏覽器會時不時地彈出一個報錯窗口甚至導致系統死機,讓人乘興而來、敗興而去。第三,JavaScript被很多網站用來實現彈出廣告窗口的功能,人們厭煩這樣的廣告,也就“恨”屋及烏地厭煩起JavaScript來了。第四,“JavaScript”這個名字里的“Java”往往讓人們誤以為其源于Java語言,而實際接觸之后才發現它們根本沒有任何聯系。與Java語言相比,JavaScript語言要簡單得多。很多程序員寧肯鉆研Java,也不愿意去了解JavaScript的功能和用法。

不管什么原因,JavaScript曾經不受歡迎的確是一個事實。

現在,情況發生了極大的變化。因為幾項新技術的出現,JavaScript的春天似乎來了。首先,W3C(萬維網聯盟)推出的標準化DOM(Document Object Model,文檔對象模型)已經一統江湖,目前市場上常見的瀏覽器可以說沒有不支持的。這對網頁設計者來說意味著可以用簡單的“對象檢測”代碼來取代那些繁復的瀏覽器嗅探代碼,而按照DOM編寫出來的JavaScript頁面不像過去那樣容易出問題,這對網民來說意味著瀏覽體驗變得流暢了。其次,最近興起的Ajax技術以DOM和JavaScript語言(以及CSS和XHTML)為基本要素,基于Ajax技術的網站離不開JavaScript和DOM腳本。

其實,人們對JavaScript的惡劣印象在很大程度上來源于早期的程序員對這種語言的濫用。如果程序員在編寫JavaScript腳本的時候能夠把問題考慮得面面俱到,就可以避免許多問題,但可惜的是如此優秀的程序員太少了。事實上,即使是在JavaScript已經開始流行起來的今天,如果程序員在編寫JavaScript腳本的時候不遵守相關的標準和編程準則,也仍會導致各種各樣的問題。

在2002年前后,CSS也是一種不太受人們歡迎的Web顯示語言,除了用它來改變一下字體,幾乎沒有人用它來干其他的事情。但沒過多久,人們對利用CSS設計網頁布局的興趣就一發而不可收拾,整個潮流也從那時扭轉了過來。現在,掌握CSS已經成為許多公司在招聘網站開發人員時的一項要求。

目前,DOM編程技術的現狀與CSS技術在2002年時的境況頗有幾分相似。受Google Maps和Flickr等著名公司利用DOM編程技術推出的Gmail、Google Suggest等新型服務的影響和帶動,DOM編程人才的需求正日益增加。有越來越多的人開始迷上了腳本編程技術,并開始學習如何利用DOM技術去改善而不是妨礙網站的可用性和可訪問性。

本書的作者Jeremy Keith是Web標準計劃DOM Scripting任務組的負責人之一,他在這本書里通過大量示例證明了這樣一個事實:只要運用得當,并且注意避開那些“經典的”JavaScript陷阱,DOM編程技術就可以成為Web開發工具箱里又一件功能強大甚至是不可或缺的好東西。

本書并不是一本參考大全類型的圖書,作者只重點介紹了幾種最有用的DOM方法和屬性。本書的精華在于作者在書中提到的關于JavaScript和DOM腳本編程工作的基本原則、良好習慣和正確思路。如果讀者能通過書中的幾個案例真正領悟這些原則、習慣和思路,就一定能讓自己的編程技術再上一個臺階。

這是一本非常實用的好書,是一本值得一讀再讀的好書。作為本書的譯者,我們相信它會讓每位讀者、自建網站的設計者和來到自建網站的訪問者都受益匪淺。

參加本書翻譯的人員還有韓蘭、李京山、胡晉平、高文雅。

主站蜘蛛池模板: 东兰县| 钟山县| 突泉县| 云安县| 东港市| 镇江市| 怀仁县| 驻马店市| 卫辉市| 钦州市| 五莲县| 阜宁县| 苗栗县| 健康| 沾化县| 高邮市| 武定县| 习水县| 元朗区| 沅陵县| 枣庄市| 监利县| 阿克陶县| 田东县| 晋中市| 许昌市| 师宗县| 泰顺县| 合作市| 正蓝旗| 奈曼旗| 饶阳县| 上高县| 营山县| 加查县| 巩留县| 鹿邑县| 集贤县| 灵璧县| 遂昌县| 宿州市|