目錄:第一部分 重新思考Web應(yīng)用
第1章 一種新的Web設(shè)計方法
1.1 為什么需要Ajax富客戶端?
1.1.1 比較用戶體驗
1.1.2 網(wǎng)絡(luò)延遲
1.1.3 異步交互
1.1.4 獨占或瞬態(tài)的使用模式
1.1.5 忘掉Web
1.2 Ajax的四個基本原則
1.2.1 瀏覽器中的是應(yīng)用而不是內(nèi)容
1.2.2 服務(wù)器交付的是數(shù)據(jù)而不是內(nèi)容
1.2.3 用戶交互變得流暢而連續(xù)
1.2.4 有紀(jì)律的嚴(yán)肅編程
1.3 真實世界中的Ajax富客戶端
1.3.1 現(xiàn)狀
1.3.2 Google Maps
1.4 Ajax的替代方案
1.4.1 基于Macromedia Flash的方案
1.4.2 Java Web Start及其相關(guān)技術(shù)
1.5 小結(jié)
1.6 資源
第2章 Ajax新手上路
2.1 Ajax的關(guān)鍵元素
2.2 用JavaScript改善用戶體驗
2.3 用CSS定義應(yīng)用的外觀
2.3.1 CSS選擇器
2.3.2 CSS樣式屬性
2.3.3簡單的CSS例子
2.4 用DOM組織視圖
2.4.1 使用JavaScript操作DOM
2.4.2 尋找DOM節(jié)點
2.4.3 創(chuàng)建DOM節(jié)點
2.4.4 為文檔增加樣式
2.4.5 捷徑:使用innerHTML屬性
2.5 使用XML技術(shù)異步加載數(shù)據(jù)
2.5.1 IFrame
2.5.2 XMLDocument和XMLHttpRequest對象
2.5.3 向服務(wù)器發(fā)送請求
2.5.4 使用回調(diào)函數(shù)監(jiān)視請求
2.5.5 完整的生命周期
2.6 Ajax有何不同
2.7 小結(jié)
2.8 資源
第3章 使Ajax秩序井然
3.1 從混沌到秩序
3.1.1 模式:創(chuàng)造一個通用的詞匯
3.1.2 重構(gòu)與Ajax
3.1.3 保持均衡
3.1.4 重構(gòu)實戰(zhàn)
3.2 一些小型重構(gòu)的案例研究
3.2.1 跨瀏覽器不一致性:Facade和Adapter模式
3.2.2 管理事件處理函數(shù):Observer模式
3.2.3 重用用戶操作處理函數(shù):Command模式
3.2.4 保持對資源的唯一引用:Singleton模式
3.3 模型-視圖-控制器
3.4 Web服務(wù)器端的MVC
3.4.1 不使用模式的Ajax Web服務(wù)器
3.4.2 重構(gòu)領(lǐng)域模型
3.4.3 從表現(xiàn)中分離內(nèi)容
3.5 第三方的庫和框架
3.5.1 跨瀏覽器庫
3.5.2 UI組件和UI組件套件
3.5.3 應(yīng)用框架
3.6 小結(jié)
3.7 資源
第二部分 核心技術(shù)
第4章 作為應(yīng)用的頁面
4.1一種不同類型的MVC
4.1.1 以不同的規(guī)模重復(fù)MVC模式
4.1.2 在瀏覽器端應(yīng)用MVC
4.2 Ajax 應(yīng)用中的視圖
4.2.1 將邏輯從視圖中分離
4.2.2 保持視圖與邏輯的分離
4.3 Ajax 應(yīng)用中的控制器
4.3.1 傳統(tǒng)的JavaScript事件處理函數(shù)
4.3.2 W3C 事件模型
4.3.3 在JavaScript中實現(xiàn)靈活的事件模型
4.4 Ajax 應(yīng)用中的模型
4.4.1 使用JavaScript為業(yè)務(wù)領(lǐng)域建模
4.4.2 與服務(wù)器交互
4.5 從模型生成視圖
4.5.1 JavaScript對象的反射
4.5.2 處理數(shù)組和對象
4.5.3 添加控制器
4.6 小結(jié)
4.7 資源
第5章 服務(wù)器的角色
5.1 與服務(wù)器配合工作
5.2 編寫服務(wù)器端代碼
5.2.1 流行的實現(xiàn)語言
5.2.2 N層體系架構(gòu)
5.2.3 維護客戶端和服務(wù)器端的領(lǐng)域模型
5.3 大局觀:通用的服務(wù)器端設(shè)計
5.3.1 不使用框架進行簡單的Web服務(wù)器編碼
5.3.2 使用Model2工作流框架
5.3.3 使用基于組件的框架
5.3.4 使用面向服務(wù)的體系架構(gòu)
5.4 細節(jié):交換數(shù)據(jù)
5.4.1 僅限于客戶端的交互
5.4.2 介紹行星瀏覽器的例子
5.4.3 從Web頁面的角度思考:以內(nèi)容為中心的交互
5.4.4 從插件的角度思考:以腳本為中心的交互
5.4.5 從應(yīng)用的角度思考:以數(shù)據(jù)為中心的交互
5.5 向服務(wù)器寫數(shù)據(jù)
5.5.1 使用HTML表單
5.5.2 使用XMLHttpRequest對象
5.5.3 有效地管理用戶的更新
5.6 小結(jié)
5.7 資源
第三部分 專業(yè)級的Ajax
第六章 用戶體驗
6.1 做正確的事:開發(fā)高質(zhì)量的應(yīng)用
6.1.1 響應(yīng)性
6.1.2 健壯性
6.1.3 一致性
6.1.4 簡單性
6.1.5 付諸實踐
6.2 讓用戶知情
6.2.1 處理自己請求的響應(yīng)
6.2.2 處理其他用戶提交的更新
6.3 為Ajax設(shè)計通知系統(tǒng)
6.3.1 對通知建模
6.3.2 定義用戶界面需求
6.4 實現(xiàn)通知框架
6.4.1 顯示狀態(tài)欄圖標(biāo)
6.4.2顯示詳細的通知信息
6.4.3 集成
6.5使用通知框架處理網(wǎng)絡(luò)請求
6.6 表示數(shù)據(jù)的時效性
6.6.1定義簡單的突出顯示格式
6.6.2 用Scriptaculous效果庫進行突出顯示
6.7 小結(jié)
6.8 資源
第7章 安全性與Ajax
7.1 JavaScript與瀏覽器安全性
7.1.1 引入來源服務(wù)器策略
7.1.2 Ajax的相關(guān)考慮
7.1.3 子域問題
7.1.4 跨瀏覽器安全性
7.2 使用遠程服務(wù)進行通信
7.2.1 代理遠程服務(wù)
7.2.2 使用Web服務(wù)
7.3 保護機密數(shù)據(jù)
7.3.1 中間人
7.3.2 使用安全HTTP
7.3.3 在普通HTTP上使用JavaScript加密數(shù)據(jù)
7.4 Ajax數(shù)據(jù)流的訪問策略
7.4.1 設(shè)計安全的Web層
7.4.2 限制對Web數(shù)據(jù)的訪問
7.5 小結(jié)
7.6 資源
第8章 性能
8.1 什么是性能?
8.2 JavaScript執(zhí)行速度
8.2.1 測定應(yīng)用時間的艱難方式
8.2.2 使用Venkman性能分析器
8.2.3 優(yōu)化Ajax應(yīng)用的執(zhí)行速度
8.3 JavaScript內(nèi)存使用量
8.3.1 避免內(nèi)存泄漏
8.3.2 Ajax的特殊考慮因素
8.4 考慮性能的設(shè)計
8.4.1 測量內(nèi)存使用量
8.4.2簡單示例
8.4.3 結(jié)果:如何將內(nèi)存使用量縮減150倍
8.5 小結(jié)
8.6 資源
第四部分 Ajax實例研究
第9章 動態(tài)雙組合功能
9.1 雙組合腳本
9.1.1 客戶端解決方案的局限性
9.1.2 服務(wù)器端解決方案的限制
9.1.3 基于Ajax的解決方案
9.2 客戶端體系架構(gòu)
9.2.1 設(shè)計表單
9.2.2 設(shè)計客戶端/服務(wù)器端交互
9.3 服務(wù)器端的VB.NET實現(xiàn)
9.3.1 定義XML響應(yīng)格式
9.3.2 編寫服務(wù)器端代碼
9.4 顯示結(jié)果
9.4.1 遍歷XML文檔
9.4.2 應(yīng)用CSS
9.5 高級問題
9.5.1 允許多選擇查詢
9.5.2 將雙組合擴展為三組合
9.6 重構(gòu)
9.6.1 新的和改進過的net.ContentLoader
9.6.2 創(chuàng)建雙組合組件
9.7 小結(jié)
第10章 輸入前提示
10.1 考察輸入前提示應(yīng)用
10.1.1 常見的輸入前提示的特征
10.1.2 Google Suggest
10.1.3 實戰(zhàn)開發(fā)Ajax輸入前提示
10.2 服務(wù)器端框架:C#
10.2.1 服務(wù)器與數(shù)據(jù)庫
10.2.2 測試服務(wù)器端代碼
10.3 客戶端框架
10.3.1 HTML
10.3.2 JavaScript
10.3.3 訪問服務(wù)器
10.4 添加功能:包含不同查詢的多個元素
10.5 重構(gòu)
10.5.1 第一天:開發(fā)TextSuggest組件的游戲計劃
10.5.2 第2天:創(chuàng)建TextSuggest――清晰而且可配置
10.5.3 第3天:激活A(yù)jax
10.5.4 第4天:事件處理
10.5.5 第5天:提示的彈出框的UI
10.5.6 重構(gòu)報告
10.6 小結(jié)
第11章 增強的Ajax Web門戶
11.1 正在進化的門戶
11.1.1 傳統(tǒng)門戶
11.1.2 擁有豐富的用戶界面的門戶
11.2 使用Java的Ajax門戶的體系架構(gòu)
11.3 Ajax登錄
11.3.1 用戶表
11.3.2 服務(wù)器端的登錄代碼:用Java實現(xiàn)
11.3.3 客戶端登錄框架
11.4 實現(xiàn)DHTML窗口
11.4.1 門戶窗口數(shù)據(jù)庫
11.4.2 門戶窗口的服務(wù)器端代碼
11.4.3 添加外部JS庫
11.5 添加Ajax自動保存功能
11.5.1 修改庫的代碼
11.5.2 自動保存信息到數(shù)據(jù)庫
11.6 重構(gòu)
11.6.1 定義構(gòu)造器
11.6.2 修改AjaxWindows.js庫
11.6.3 指定protal命令
11.6.4 執(zhí)行Ajax處理
11.6.5 重構(gòu)報告
11.7 小結(jié)
第12章 使用XSLT的動態(tài)搜索
12.1 理解搜索技術(shù)
12.1.1 考察傳統(tǒng)的搜索
12.1.2 幀和彈出窗口方法的缺點
12.1.3 研究使用Ajax和XSLT的動態(tài)搜索
12.1.4 向客戶端發(fā)回結(jié)果
12.2 客戶端的代碼
12.2.1 設(shè)置客戶端
12.2.2 啟動搜索過程
12.3 服務(wù)器端的PHP代碼
12.3.1創(chuàng)建XML文檔
12.3.2 創(chuàng)建XSLT文檔
12.4 合并XSLT和XML文檔
12.4.1 使用微軟的IE
12.4.2 使用Mozilla
12.5 完成搜索
12.5.1 應(yīng)用層疊樣式表
12.5.2 改善搜索
12.5.3 決定使用XSLT
12.5.4 克服Ajax書簽支持的缺陷
12.6 重構(gòu)
12.6.1 XSLTHelper
12.6.2 動態(tài)搜索組件
12.6.3 重構(gòu)報告
12.7 小結(jié)
第13章 使用AJAX創(chuàng)建獨立的應(yīng)用
13.1 從外部讀取信息
13.1.1 查找XML提要
13.1.2 RSS結(jié)構(gòu)
13.2 創(chuàng)建豐富的用戶界面
13.2.1 流程
13.2.2 不使用表格的HTML框架
13.2.3 采用CSS方法做排版
13.3 加載RSS提要
13.3.1 全局作用域
13.3.2 Ajax預(yù)加載功能
13.4 增加豐富的漸變效果
13.4.1 跨瀏覽器的不透明規(guī)則
13.4.2 實現(xiàn)淡入/淡出漸變
13.4.3 集成JavaScript定時器
13.5 附加功能
13.5.1 插入額外提要
13.5.2 集成跳過和暫停功能
13.6 避免項目的限制
13.6.1 克服Mozilla的安全限制
13.6.2 修改應(yīng)用的范圍
13.7 重構(gòu)
13.7.1 RSS閱讀器模型
13.7.2 RSS閱讀器視圖
13.7.3 RSS閱讀器控制器
13.7.4 重構(gòu)報告
13.8 小結(jié)
附錄A Ajax工具箱
A.1 選擇正確的工具集更加聰明地工作
A.1.1 獲取適合的工具
A.1.2 創(chuàng)建自己的工具
A.1.3 維護工具箱
A.2 編輯器和IDE
A.2.1 在代碼編輯器中需要什么功能
A.2.2 當(dāng)前的工具
A.3 調(diào)試器
A.3.1為什么要使用調(diào)試器
A.3.2 JavaScript調(diào)試器
A.3.3 HTTP 調(diào)試器
A.3.4創(chuàng)建自己的跨瀏覽器輸出控制臺
A.4 DOM 檢查器
A.4.1 使用Mozilla DOM 檢查器
A.4.2 IE的DOM 檢查器
A.5 安裝Firefox擴展
A.6 資源
附錄B 面向?qū)ο蟪绦騿T的JavaScript
B.1 JavaScript不是Java
B.2 JavaScript中的對象
B.2.1創(chuàng)建一個開箱即用(ad hoc)的對象
B.2 .2 構(gòu)造函數(shù)、類和原型
B.2.3 擴展內(nèi)建類
B.2.4 原型的繼承
B.2.5 JavaScript對象的反射
B.2.6 接口和“鴨子類型”
B.3 方法和函數(shù)
B.3.1 函數(shù)是一等公民
B.3.2 向?qū)ο蟾郊雍瘮?shù)
B.3.3 從其他對象借用函數(shù)
B.3.4 Ajax事件處理和函數(shù)上下文
B.3.5 JavaScript中的閉包
B.4 小結(jié)
B.5 資源
附錄C Ajax框架和庫
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。