第一部分 重新思考web應用
第1章 一種新的web設計方法
1.1 為什麼需要ajax富客戶端?
1.1.1 比較用戶體驗
1.1.2 網絡延遲
1.1.3 異步交互
1.1.4 獨占或瞬態的使用模式
1.1.5 忘掉web
1.2 ajax的四個基本原則
1.2.1 瀏覽器中的是應用而不是內容
1.2.2 服務器交付的是數據而不是內容
1.2.3 用戶交互變得流暢而連續
1.2.4 有紀律的嚴肅編程
1.3 真實世界中的ajax富客戶端
1.3.1 現狀
1.3.2 google maps
1.4 ajax的替代方案
1.4.1 基於macromedia flash的方案
1.4.2 java web start及其相關技術
1.5 小結
.1.6 資源
第2章 ajax新手上路
2.1 ajax的關鍵元素
2.2 用javascript改善用戶體驗
2.3 用css定義應用的外觀
2.3.1 css選擇器
2.3.2 css樣式屬性
2.3.3簡單的css例子
2.4 用dom組織視圖
2.4.1 使用javascript操作dom
2.4.2 尋找dom節點
2.4.3 創建dom節點
2.4.4 為文檔增加樣式
2.4.5 捷徑:使用innerhtml屬性
2.5 使用xml技術異步加載數據
2.5.1 iframe
2.5.2 xmldocument和xmlhttprequest對象
2.5.3 嚮服務器發送請求
2.5.4 使用迴調函數監視請求
2.5.5 完整的生命周期
2.6 ajax有何不同
2.7 小結
2.8 資源
第3章 使ajax秩序井然
3.1 從混沌到秩序
3.1.1 模式:創造一個通用的詞匯
3.1.2 重構與ajax
3.1.3 保持均衡
3.1.4 重構實戰
3.2 一些小型重構的案例研究
3.2.1 跨瀏覽器不一緻性:facade和adapter模式
3.2.2 管理事件處理函數:observer模式
3.2.3 重用用戶操作處理函數:command模式
3.2.4 保持對資源的唯一引用:singleton模式
3.3 模型-視圖-控製器
3.4 web服務器端的mvc
3.4.1 不使用模式的ajax web服務器
3.4.2 重構領域模型
3.4.3 從錶現中分離內容
3.5 第三方的庫和框架
3.5.1 跨瀏覽器庫
3.5.2 ui組件和ui組件套件
3.5.3 應用框架
3.6 小結
3.7 資源
第二部分 核心技術
第4章 作為應用的頁麵
4.1一種不同類型的mvc
4.1.1 以不同的規模重復mvc模式
4.1.2 在瀏覽器端應用mvc
4.2 ajax 應用中的視圖
4.2.1 將邏輯從視圖中分離
4.2.2 保持視圖與邏輯的分離
4.3 ajax 應用中的控製器
4.3.1 傳統的javascript事件處理函數
4.3.2 w3c 事件模型
4.3.3 在javascript中實現靈活的事件模型
4.4 ajax 應用中的模型
4.4.1 使用javascript為業務領域建模
4.4.2 與服務器交互
4.5 從模型生成視圖
4.5.1 javascript對象的反射
4.5.2 處理數組和對象
4.5.3 添加控製器
4.6 小結
4.7 資源
第5章 服務器的角色
5.1 與服務器配閤工作
5.2 編寫服務器端代碼
5.2.1 流行的實現語言
5.2.2 n層體係架構
5.2.3 維護客戶端和服務器端的領域模型
5.3 大局觀:通用的服務器端設計
5.3.1 不使用框架進行簡單的web服務器編碼
5.3.2 使用model2工作流框架
5.3.3 使用基於組件的框架
5.3.4 使用麵嚮服務的體係架構
5.4 細節:交換數據
5.4.1 僅限於客戶端的交互
5.4.2 介紹行星瀏覽器的例子
5.4.3 從web頁麵的角度思考:以內容為中心的交互
5.4.4 從插件的角度思考:以腳本為中心的交互
5.4.5 從應用的角度思考:以數據為中心的交互
5.5 嚮服務器寫數據
5.5.1 使用html錶單
5.5.2 使用xmlhttprequest對象
5.5.3 有效地管理用戶的更新
5.6 小結
5.7 資源
第三部分 專業級的ajax
第六章 用戶體驗
6.1 做正確的事:開發高質量的應用
6.1.1 響應性
6.1.2 健壯性
6.1.3 一緻性
6.1.4 簡單性
6.1.5 付諸實踐
6.2 讓用戶知情
6.2.1 處理自己請求的響應
6.2.2 處理其他用戶提交的更新
6.3 為ajax設計通知係統
6.3.1 對通知建模
6.3.2 定義用戶界麵需求
6.4 實現通知框架
6.4.1 顯示狀態欄圖標
6.4.2顯示詳細的通知信息
6.4.3 集成
6.5使用通知框架處理網絡請求
6.6 錶示數據的時效性
6.6.1定義簡單的突齣顯示格式
6.6.2 用scriptaculous效果庫進行突齣顯示
6.7 小結
6.8 資源
第7章 安全性與ajax
7.1 javascript與瀏覽器安全性
7.1.1 引入來源服務器策略
7.1.2 ajax的相關考慮
7.1.3 子域問題
7.1.4 跨瀏覽器安全性
7.2 使用遠程服務進行通信
7.2.1 代理遠程服務
7.2.2 使用web服務
7.3 保護機密數據
7.3.1 中間人
7.3.2 使用安全http
7.3.3 在普通http上使用javascript加密數據
7.4 ajax數據流的訪問策略
7.4.1 設計安全的web層
7.4.2 限製對web數據的訪問
7.5 小結
7.6 資源
第8章 性能
8.1 什麼是性能?
8.2 javascript執行速度
8.2.1 測定應用時間的艱難方式
8.2.2 使用venkman性能分析器
8.2.3 優化ajax應用的執行速度
8.3 javascript內存使用量
8.3.1 避免內存泄漏
8.3.2 ajax的特殊考慮因素
8.4 考慮性能的設計
8.4.1 測量內存使用量
8.4.2簡單示例
8.4.3 結果:如何將內存使用量縮減150倍
8.5 小結
8.6 資源
第四部分 ajax實例研究
第9章 動態雙組閤功能
9.1 雙組閤腳本
9.1.1 客戶端解決方案的局限性
9.1.2 服務器端解決方案的限製
9.1.3 基於ajax的解決方案
9.2 客戶端體係架構
9.2.1 設計錶單
9.2.2 設計客戶端/服務器端交互
9.3 服務器端的vb.net實現
9.3.1 定義xml響應格式
9.3.2 編寫服務器端代碼
9.4 顯示結果
9.4.1 遍曆xml文檔
9.4.2 應用css
9.5 高級問題
9.5.1 允許多選擇查詢
9.5.2 將雙組閤擴展為三組閤
9.6 重構
9.6.1 新的和改進過的net.contentloader
9.6.2 創建雙組閤組件
9.7 小結
第10章 輸入前提示
10.1 10.1 考察輸入前提示應用
10.1.3 10.1.1常見的輸入前提示的特徵
10.1.4 10.1.2 google suggest
10.1.3 實戰開發ajax輸入前提示
10.2 服務器端框架:c#
10.2.1 服務器與數據庫
10.2.2 測試服務器端代碼
10.3 客戶端框架
10.3.1 html
10.3.2 javascript
10.3.3 訪問服務器
10.4 添加功能:包含不同查詢的多個元素
10.5 10.5 重構
10.5.1 第一天:開發textsuggest組件的遊戲計劃
10.5.2 第2天:創建textsuggest――清晰而且可配置
10.5.3 第3天:激活ajax
10.5.4 第4天:事件處理
10.5.5 第5天:提示的彈齣框的ui
10.5.6 重構報告
10.6 小結
第11章 增強的ajax web門戶
11.1 正在進化的門戶
11.1.1 傳統門戶
11.1.2 擁有豐富的用戶界麵的門戶
11.2 使用java的ajax門戶的體係架構
11.3 ajax登錄
11.3.1 用戶錶
11.3.2 服務器端的登錄代碼:用java實現
11.3.3 客戶端登錄框架
11.4 實現dhtml窗口
11.4.1 門戶窗口數據庫
11.4.2 門戶窗口的服務器端代碼
11.4.3 添加外部js庫
11.5 添加ajax自動保存功能
11.5.1 修改庫的代碼
11.5.2 自動保存信息到數據庫
11.6 重構
11.6.1 定義構造器
11.6.2 修改ajaxwindows.js庫
11.6.3 指定protal命令
11.6.4 執行ajax處理
11.6.5 重構報告
11.7 小結
第12章 使用xslt的動態搜索
12.1 理解搜索技術
12.1.1 考察傳統的搜索
12.1.2 幀和彈齣窗口方法的缺點
12.1.3 研究使用ajax和xslt的動態搜索
12.1.4 嚮客戶端發迴結果
12.2 客戶端的代碼
12.2.1 設置客戶端
12.2.2 啓動搜索過程
12.3 服務器端的php代碼
12.3.1創建xml文檔
12.3.2 創建xslt文檔
12.4閤並xslt和xml文檔
12.4.1 使用微軟的ie
12.4.2 使用mozilla
12.5 完成搜索
12.5.1 應用層疊樣式錶
12.5.2 改善搜索
12.5.3 決定使用xslt
12.5.4 剋服ajax書簽支持的缺陷
12.6 重構
12.6.1 xslthelper
12.6.2 動態搜索組件
12.6.3 重構報告
12.7 小結
第13章 使用ajax創建獨立的應用
13.1 從外部讀取信息
13.1.1 查找xml提要
13.1.2 rss結構
13.2 創建豐富的用戶界麵
13.2.1 流程
13.2.2不使用錶格的html框架
13.2.3 采用css方法做排版
13.3 加載rss提要
13.3.1 全局作用域
13.3.2 ajax預加載功能
13.4 增加豐富的漸變效果
13.4.1 跨瀏覽器的不透明規則
13.4.2 實現淡入/淡齣漸變
13.4.3 集成javascript定時器
13.5 附加功能
13.5.1 插入額外提要
13.5.2集成跳過和暫停功能
13.6 避免項目的限製
13.6.1剋服mozilla的安全限製
13.6.2修改應用的範圍
13.7 重構
13.7.1 rss閱讀器模型
13.7.2 rss閱讀器視圖
13.7.3 rss閱讀器控製器
13.7.4 重構報告
13.8 小結
附錄a ajax工具箱
a.1 選擇正確的工具集更加聰明地工作
a.1.1獲取適閤的工具
a.1.2 創建自己的工具
a.1.3 維護工具箱
a.2 編輯器和ide
a.2.1 在代碼編輯器中需要什麼功能
a.2.2 當前的工具
a.3 調試器
a.3.1為什麼要使用調試器
a.3.2 javascript調試器
a.3.3 http 調試器
a.3.4創建自己的跨瀏覽器輸齣控製颱
a.4 dom 檢查器
a.4.1 使用mozilla dom 檢查器
a.4.2 ie的dom 檢查器
a.5 安裝firefox擴展
a.6 資源
附錄b 麵嚮對象程序員的javascript
b.1 javascript不是java
b.2 javascript中的對象
b.2.1創建一個開箱即用(ad hoc)的對象
b.2.2 構造函數、類和原型
b.2.3 擴展內建類
b.2.4 原型的繼承
b.2.5 javascript對象的反射
b.2.6 接口和“鴨子類型”
b.3 方法和函數
b.3.1 函數是一等公民
b.3.2 嚮對象附加函數
b.3.3 從其他對象藉用函數
b.3.4 ajax事件處理和函數上下文
b.3.5 javascript中的閉包
b.4 小結
b.5 資源
附錄c ajax框架和庫
· · · · · · (
收起)