內容簡介
本書全面而深入地對HTML5相關的技術進行詳細介紹和剖析。“從開始到現在”道出HTML5的坎坷發展史;“HTML5特性檢測”介紹了多種針對不同特性的檢測方法;“本地存儲”揭開了如何把“資料庫”搬到客戶端的神秘面紗;“離線套用”展示了脫機狀態下依然能讓Web套用完好無損的神奇技藝;“瘋狂的表單”大秀了一把炫酷無比的下
一代Web表單……它幾乎涵蓋了HTML5標準中描述的所有新特性。本書在以詼諧的文字結合生動的實例介紹HTML5特性的同時,還深入剖析其內部原理。讓讀者不僅知其然,而且知其所以然。無論是剛接觸Web前端技術的新人,還是經驗豐富的老手,只要是HTML5技術愛好者,都會從本書中受益。
作者簡介
Mark Pilgrim是Google公司的高級開發人員,專門研究開源技術和開放標準。Mark是多本技術書籍的作者,包括“Dive Into Python”(APress)和“Dive Into ACCESSIBILITY”。後者是一本關於Web親和力的免費線上教程。他和妻子、兩個孩子及一條毛茸茸的大狗生活在北卡羅來納。
目錄
前言 I
第1章 從開始到現在 1
1.1 引言 1
1.2 MIME類型 1
1.3 很長的題外話:一份標準是如何誕生的? 2
1.4 未曾間斷的路線 7
· · · · · · (更多)
前言 I
第1章 從開始到現在 1
1.1 引言 1
1.2 MIME類型 1
1.3 很長的題外話:一份標準是如何誕生的? 2
1.4 未曾間斷的路線 7
1.5 HTML發展史:從1997到2004年 9
1.6 你所知道的關於XHTML的一切都是錯誤的 10
1.7 一個競爭願景 11
1.8 WHAT工作小組? 12
1.9 回到W3C 13
1.10 後記 14
1.11 擴展閱讀 14
第2章 HTML5特性檢測 15
2.1 引言 15
2.2 檢測技術 15
2.3 Modernizr:一個HTML5特性檢測庫 16
2.4 畫布 16
2.5 畫布文本 17
2.6 視頻 18
2.7 視頻格式 19
2.8 本地存儲 21
2.9 Web Workers 23
2.10 離線Web套用 23
2.11 地理位置 24
2.12 輸入框類型 25
2.13 占位文本 27
2.14 表單自動聚焦 27
2.15微數據28
2.16 擴展閱讀 29
第3章 從這一切的含義 31
3.1 引言 31
3.2 文檔類型 31
3.3 根元素 33
3.4 <head>元素 34
3.4.1 字元編碼 35
3.4.2 朋友和(連結)關係 36
3.5 HTML5中新增的語義元素 41
3.6 題外話:瀏覽器如何處理未知元素42
3.7 頁頭 45
3.8 文章 47
3.9 日期和時間 49
3.10 導航 51
3.11 頁腳 52
3.12 擴展閱讀 55
第4章 Canvas繪圖 57
4.1 引言 57
4.2 簡單的圖形 58
4.3 Canvas坐標系 60
4.4 路徑 61
4.5 文本 63
4.6 顏色漸變 67
4.7 圖片 70
4.8 IE怎么辦? 73
4.9 一個完整的例子 75
4.10 擴展閱讀 79
第5章 網路上的視頻 81
5.1 前言 81
5.2 視頻容器 81
5.3 視頻編解碼器 83
5.3.1 H.264 84
5.3.2Theora84
5.3.3 VP8 85
5.4 音頻編解碼器 85
5.4.1 MPEG-1 音頻層 3 86
5.4.2 高級音頻編碼 87
5.4.3 Vorbis 87
5.5 在網頁中怎么工作 88
5.6 H.264視頻的授權問題 90
5.7 使用Firefogg編碼Ogg視頻 91
5.8 使用ffmpegtheora批量編碼Ogg視頻 98
5.9 使用handbrake編碼H.264視頻 100
5.10 使用HandBrake批量編碼H.264視頻 107
5.11 使用ffmpeg編碼WebM視頻 108
5.12 最後,標記 110
5.12.1 MIME類型很重要 113
5.13 IE怎么辦? 114
5.14 完整的例子 114
5.14 擴展閱讀 115
第6章 地理位置 117
6.1 引言 117
6.2 地理位置API 117
6.3 代碼展示 118
6.4 容錯處理 120
6.5 方案!我要方案! 121
6.6 那IE怎么辦? 123
6.7 geo.js來拯救 123
6.8 一個完整的例子 125
6.9 擴展閱讀 126
第7章 Web套用本地存儲的過去、現在和未來 127
7.1 引言 127
7.2 HTML5之前的偽本地存儲簡史 128
7.3 HTML5存儲介紹 129
7.4 使用HTML5存儲 130
7.4.1 跟蹤HTML5存儲區的改動 131
7.4.2 現有瀏覽器的局限性 132
7.5 HTML5存儲實踐 132
7.6 超越鍵值對的存儲形式 134
7.7 擴展閱讀 135
第8章 離線Web套用 137
8.1 引言 137
8.2 快取清單 138
8.2.1 “網路”段 139
8.2.2 “默認”部分 140
8.3 事件流 141
8.4 調試的藝術——殺了我!現在就殺了我! 142
8.5 讓我們來構建一個離線Web套用! 145
8.6 擴展閱讀 146
第9章 瘋狂的表單 147
9.1 引言 147
9.2 占位文本 147
9.3 自動聚焦 148
9.4 Email地址 150
9.5 Web地址 151
9.6 數字類型輸入框:數字選擇器 153
9.7 數字類型輸入框:滑塊 155
9.8 日期選擇器 156
9.9 搜尋框 158
9.10 顏色選擇器 160
9.11 還有一點…… 160
9.12 擴展閱讀 161
第10章 “分散式”、“可擴展性”及其他華麗詞藻 163
10.1 引言 163
10.2 什麼是微數據? 164
10.3 微數據的數據模型 165
10.4 標註“人” 168
10.4.1 Google Rich Snippets介紹 174
10.5 標註“組織” 176
10.6 標註“事件” 180
10.6.1 Google Rich Snippets的回歸 184
10.7 標註“點評” 186
10.8 擴展閱讀 190
附錄A 全方位特性檢測指南 191
元素列表 191
擴展閱讀 199
索引 201
詞條圖冊更多圖冊