《HTML5程式設計》是Peter Lubbers Brian Albers Frank Salim所寫的圖書。該語言是較為常用的程式語言。
基本介紹
- 書名:HTML5程式設計
- 作者:Peter Lubbers、Brian Albers、Frank Salim
- 譯者:李傑 劉淼 柳靖
- 出版社:人民郵電出版社
- ISBN:9787807326144
- 書號:978-7-115-27871-5
- 系列書名:圖靈程式設計叢書
作者簡介,內容簡介,目 錄,
作者簡介
Peter Lubbers,Kaazing技術交流資深總監,舊金山HTML5用戶組創建人。作為HTML5和WebSocket的狂熱愛好者,Peter經常在國際大會上發言,還在全球範圍內開展HTML5的技術培訓。在加盟Kaazing前,Peter在Oracle擔任了近十年的資深信息架構師,獲得過兩項軟體專利。
內容簡介
超級暢銷書《HTML5高級程式設計》升級版
引領下一代Web開發潮流
全面涵蓋開創性HTML5 API
本書首先介紹了HTML5 的歷史背景、新的語義標籤及與以往HTML 版本相比的根本變化,同時揭示了HTML5 背後的設計原理。本書在上一版的基礎上新增了SVG 和拖放API相關內容,並對部分內容進行了更新。從第2 章起,分別圍繞構建令人神往的富Web 套用,逐一討論了HTML5 的Canvas、Geolocation、Communication、WebSocket、Forms、WebWorkers、Storage 等API 的使用,輔以直觀明了的客戶端和伺服器端示例代碼,讓開發人員能夠迅速理解和掌握新一代Web 標準所涵蓋的核心技術。本書最後探索了離線Web 套用並展望了HTML5 未來的發展前景。本書面向有一定經驗的Web 套用開發人員,對HTML5 及未來Web 套用技術發展有濃厚興趣的讀者也可以學習參考。
目 錄
第1章 HTML5概述 1
1.1 HTML5發展史 1
1.2 關於2022年的那個神話 2
1.3 誰在開發HTML5 3
1.4 新的認識 3
1.4.1 兼容性和存在即合理 3
1.4.2 效率和用戶優先 4
1.4.3 化繁為簡 5
1.4.4 通用訪問 5
1.5 無外掛程式範式 5
1.6 HTML5的新功能 8
1.6.1 新的DOCTYPE和字元集 8
1.6.2 新元素和舊元素 9
1.6.3 語義化標記 10
1.6.4 使用Selectors API簡化
選取操作 15
1.6.5 JavaScript日誌和調試 18
1.6.6 window.JSON 19
1.6.7 DOM Level 3 19
1.6.8 Monkeys、Squirrelfish和其他
JavaScript引擎 19
1.7 小結 21
第2章 Canvas API 22
2.1 HTML5 Canvas概述 22
2.1.1 歷史 22
2.1.2 canvas是什麼 23
2.1.3 canvas坐標 23
2.1.4 什麼情況下不用canvas 23
2.1.5 替代內容 24
2.1.6 CSS和canvas 25
2.1.7 瀏覽器對HTML5 Canvas的
支持情況 25
2.2 使用HTML5 Canvas API 25
2.2.1 檢測瀏覽器支持情況 25
2.2.2 在頁面中加入canvas 26
2.2.3 變換 28
2.2.4 路徑 30
2.2.5 描邊樣式 32
2.2.6 填充樣式 34
2.2.7 填充矩形區域 34
2.2.8 繪製曲線 35
2.2.9 在canvas中插入圖片 37
2.2.10 漸變 38
2.2.11 背景圖 40
2.2.12 縮放canvas對象 42
2.2.13 Canvas變換 43
2.2.14 Canvas文本 45
2.2.15 套用陰影 46
2.2.16 像素數據 48
2.2.17 Canvas的安全機制 50
2.3 使用HTML5 Canvas創建套用 51
2.3.1 進階功能之全頁玻璃窗 54
2.3.2 進階功能之為Canvas
動畫計時 54
2.4 小結 57
第3章 SVG 58
3.1 SVG概述 58
3.1.1 歷史 58
3.1.2 理解SVG 59
3.1.3 可縮放圖形 61
3.1.4 使用SVG創建2D圖形 61
3.1.5 在頁面中添加SVG 61
3.1.6 簡單的形狀 62
3.1.7 變換SVG元素 63
3.1.8 復用內容 64
3.1.9 圖案和漸變 64
3.1.10 SVG路徑 65
3.1.11 使用SVG文本 66
3.1.12 組合場景 67
3.2 使用SVG創建互動式套用 68
3.2.1 添加樹 69
3.2.2 添加updateTrees函式 69
3.2.3 添加removeTree函式 70
3.2.4 添加CSS樣式 70
3.2.5 最終代碼 70
3.3 小結 74
第4章 音頻和視頻 75
4.1 HTML5 Audio和Video概述 75
4.1.1 視頻容器 75
4.1.2 音頻和視頻編解碼器 76
4.1.3 HTML5 Audio和Video的
限制 77
4.1.4 audio元素和video元素的
瀏覽器支持情況 77
4.2 使用HTML5 Audio和Video API 78
4.2.1 瀏覽器支持性檢測 79
4.2.2 可訪問性 79
4.2.3 理解媒體元素 80
4.2.4 使用audio元素 85
4.2.5 使用video元素 86
4.2.6 進階功能 93
4.3 小結 95
第5章 Geolocation API 96
5.1 位置信息 96
5.1.1 緯度和經度坐標 96
5.1.2 位置信息從何而來 97
5.1.3 IP位址地理定位數據 98
5.1.4 GPS地理定位數據 98
5.1.5 Wi-Fi地理定位數據 98
5.1.6 手機地理定位數據 99
5.1.7 用戶自定義的地理定位數據 99
5.2 HTML5 Geolocation的瀏覽器
支持情況 99
5.3 隱私 100
5.3.1 觸發隱私保護機制 101
5.3.2 處理位置信息 101
5.4 使用HTML5 Geolocation API 102
5.4.1 瀏覽器支持性檢查 102
5.4.2 位置請求 102
5.5 使用HTML5 Geolocation構建套用 107
5.5.1 編寫HTML顯示代碼 109
5.5.2 處理Geolocation數據 110
5.5.3 最終代碼 112
5.6 進階功能 115
5.6.1 現在的狀態是什麼 115
5.6.2 在Goolge Map上顯示“我在
這裡” 117
5.7 小結 118
第6章 Communication API 119
6.1 跨文檔訊息通信 119
6.1.1 理解源安全 122
6.1.2 跨文檔訊息通信的瀏覽器支
持情況 122
6.1.3 使用postMessage API 123
6.1.4 使用postMessage API創建
套用 124
6.2 XMLHttpRequest Level 2 128
6.2.1 跨源XMLHttpRequest 129
6.2.2 進度事件 130
6.2.3 HTML5 XMLHttpRequest
Level 2的瀏覽器支持情況 131
6.2.4 使用XMLHttpRequest API 131
6.2.5 創建XMLHttpRequest套用 133
6.3 進階功能 136
6.3.1 結構化的數據 136
6.3.2 Framebusting 136
6.4 小結 137
第7章 WebSockets API 138
7.1 WebSockets概述 138
7.1.1 實時和HTTP 138
7.1.2 解讀WebSockets 140
7.2 編寫簡單的Echo WebSocket
伺服器 145
7.3 使用HTML5 WebSockets API 153
7.3.1 瀏覽器支持情況檢測 153
7.3.2 API的基本用法 154
7.4 創建HTML5 WebSockets應用程式 158
7.4.1 編寫HTML檔案 159
7.4.2 添加WebSocket代碼 160
7.4.3 添加Geolocation代碼 160
7.4.4 合併所有內容 161
7.4.5 最終代碼 163
7.5 小結 165
第8章 Forms API 166
8.1 HTML5 Forms概述 166
8.1.1 HTML Forms與XForms 166
8.1.2 功能性表單 167
8.1.3 HTML5 Forms的瀏覽器
支持情況 167
8.1.4 輸入型控制項目錄 168
8.2 使用HTML5 Forms API 172
8.2.1 新的表單特性和函式 172
8.2.2 表單驗證 175
8.2.3 驗證反饋 178
8.3 構建HTML5 Forms套用 180
8.4 小結 185
第9章 拖放 186
9.1 Web拖放發展史 186
9.2 HTML5拖放概述 187
9.2.1 藍圖 187
9.2.2 需要記住的事件 189
9.2.3 設定元素可拖動 192
9.2.4 傳輸和控制 192
9.3 構建拖放套用 193
9.4 拖放檔案 201
9.5 進階功能 205
9.6 小結 206
第10章 Web Workers API 207
10.1 Web Workers的瀏覽器支持情況 208
10.2 使用Web Workers API 208
10.2.1 瀏覽器支持性檢查 208
10.2.2 創建Web Workers 209
10.2.3 多個JavaScript檔案的載入
與執行 209
10.2.4 與HTML5 Web Workers
通信 209
10.3 編寫主頁 210
10.3.1 處理錯誤 211
10.3.2 停止Web Workers 212
10.3.3 Web Workers的嵌套使用 212
10.3.4 使用定時器 213
10.3.5 示例代碼 213
10.4 構建Web Workers套用 214
10.4.1 編寫blur.js輔助腳本 216
10.4.2 編寫blur.html套用頁面 217
10.4.3 編寫blurWorker.js 218
10.4.4 與Web Worker通信 218
10.4.5 運行程式 219
10.4.6 示例代碼 220
10.5 小結 225
第11章 Web Storage API 226
11.1 HTML5 Web Storage概述 226
11.2 Web Storage的瀏覽器支持情況 227
11.3 使用Web Storage API 227
11.3.1 檢查瀏覽器的支持性 227
11.3.2 設定和獲取數據 229
11.3.3 封堵數據泄漏 230
11.3.4 localStorage與
sessionStorage 230
11.3.5 Web Storage API的其他特
性和函式 232
11.3.6 更新Web Storage後的通信 234
11.3.7 探索Web Storage 235
11.4 構建Web Storage套用 236
11.5 瀏覽器資料庫存儲展望 247
11.5.1 Web SQL Database 247
11.5.2 索引資料庫API 250
11.6 進階功能 251
11.6.1 JSON對象的存儲 251
11.6.2 共享視窗 252
11.7 小結 253
第12章 構建離線Web套用 254
12.1 HTML5離線Web套用概述 254
12.2 使用HTML5離線Web套用API 256
12.2.1 檢查瀏覽器的支持情況 256
12.2.2 搭建簡單的離線應用程式 256
12.2.3 支持離線行為 257
12.2.4 manifest檔案 257
12.2.5 applicationCache API 259
12.2.6 運行中的套用快取 260
12.3 使用HTML5離線Web套用構建
套用 261
12.3.1 創建記錄資源的manifest
檔案 263
12.3.2 創建構成界面的HTML和
CSS 264
12.3.3 創建離線JavaScript 264
12.3.4 檢查applicationCache的
支持情況 266
12.3.5 為Update按鈕添加處理
函式 266
12.3.6 添加Geolocation跟蹤代碼 267
12.3.7 添加Storage功能代碼 267
12.3.8 添加離線事件處理程式 268
12.4 小結 268
第13章 HTML5未來展望 269
13.1 HTML5的瀏覽器支持情況 269
13.2 HTML未來的發展 269
13.2.1 WebGL 270
13.2.2 設備 272
13.2.3 音頻數據API 272
13.2.4 觸控螢幕設備事件 272
13.2.5 P2P網路 275
13.2.6 最終方向 275
13.3 小結 275