《第三方JavaScript編程》是2015年由人民郵電出版社出版的圖書,該書作者是(美)維尼哲。
基本介紹
- 書名:第三方JavaScript編程
- 作者:(美)維尼哲
- ISBN:9787115392244
- 類別:社會文化
- 頁數:237頁
- 定價:55元
- 出版社:人民郵電出版社
- 出版時間:2015-09
- 裝幀:平裝
- 開本:1/16
圖書簡介,目錄,
圖書簡介
第三方JavaScript應用程式是自包含的套用組件,通常都是小腳本或外掛程式,能夠為Web站點增加功能。它們往往是由獨立的組織或個人提供的,代碼和檔案都是來自於遠程的Web地址。
《第三方JavaScript編程》由兩位第三方應用程式開發領域的專家編寫完成,通過豐富的示例和講解引導讀者掌握第三方Web開發的相關技術及如何開發運行在第三方環境的JavaScript代碼。《第三方JavaScript編程》共10章,分別介紹了第三方JavaScript的定義、如何載入和執行代碼、DOM渲染、第三方腳本和數據伺服器之間的通信、跨視窗的訊息傳遞方法、身份驗證和cookie、第三方應用程式的安全性、JavaScript SDK的發展、性能、測試和調試。
《第三方JavaScript編程》並非JavaScript語言的初級讀本,適用於有一定第三方代碼開發經驗的開發者以及致力於研究其如何在外部環境運行的開發者們閱讀。
《第三方JavaScript編程》由兩位第三方應用程式開發領域的專家編寫完成,通過豐富的示例和講解引導讀者掌握第三方Web開發的相關技術及如何開發運行在第三方環境的JavaScript代碼。《第三方JavaScript編程》共10章,分別介紹了第三方JavaScript的定義、如何載入和執行代碼、DOM渲染、第三方腳本和數據伺服器之間的通信、跨視窗的訊息傳遞方法、身份驗證和cookie、第三方應用程式的安全性、JavaScript SDK的發展、性能、測試和調試。
《第三方JavaScript編程》並非JavaScript語言的初級讀本,適用於有一定第三方代碼開發經驗的開發者以及致力於研究其如何在外部環境運行的開發者們閱讀。
目錄
第1章 第三方JavaScript介紹 1
1.1 第三方JavaScript的定義 2
1.2 第三方JavaScript的
用法 4
1.2.1 嵌入式微件 6
1.2.2 分析和統計 8
1.2.3 Web服務API封裝 9
1.3 開發一個簡單的微件 13
1.3.1 服務端生成腳本 14
1.3.2 通過iframes分發微件 16
1.4 第三方開發的挑戰 17
1.4.1 未知的上下文 17
1.4.2 共享環境 18
1.4.3 瀏覽器限制 19
1.5 總結 19
第2章 套用的分發和載入 20
2.1 配置第三方開發環境 21
2.1.1 發布者的測試頁面 21
2.1.2 Web伺服器 22
2.1.3 模擬多個域 23
2.2 載入初始的腳本 24
2.2.1 阻塞式腳本引入 25
2.2.2 使用async和defer無阻塞
載入腳本 26
2.2.3 動態腳本插入 28
2.3 初始腳本檔案 29
2.3.1 window和undefined
混淆 30
2.3.2 基本應用程式流程 31
2.4 載入額外的檔案 32
2.4.1 JavaScript檔案 33
2.4.2 庫 35
2.5 腳本參數傳遞 37
2.5.1 使用查詢字元串 37
2.5.2 使用片段標識符 40
2.5.3 使用自定義數據屬性 40
2.5.4 使用全局變數 42
2.6 獲取套用數據 44
2.7 總結 45
第3章 HTML和CSS的渲染 46
3.1 輸出HTML 47
3.1.1 使用document.write 47
3.1.2 追加到已知位置 48
3.1.3 追加多個微件 50
3.1.4 解耦渲染對象 52
3.2 為你的HTML添加
樣式 53
3.2.1 使用內聯樣式 53
3.2.2 載入CSS檔案 54
3.2.3 嵌入CSS到
JavaScript中 56
3.3 防禦性的HTML和CSS 59
3.3.1 命名空間59
3.3.2 CSS的特殊性 60
3.3.3 過度設定CSS的特殊性 62
3.4 將內容嵌入到iframe中 65
3.4.1 沒有設定src的iframe 66
3.4.2 外部iframe 68
3.4.3 樣式繼承 69
3.4.4 何時避免使用iframe 73
3.5 小結 74
第4章 與伺服器通信 75
4.1 AJAX和瀏覽器的同源
策略 76
4.1.1 判定同源的規則 77
4.1.2 同源策略和腳本載入 78
4.2 帶填充的JSON
(JSONP) 80
4.2.1 通過腳本元素載入
JSON 80
4.2.2 動態的回調函式 81
4.2.3 局限性和安全問題 84
4.3 子域名代理 85
4.3.1 使用document.domain更改
文檔的源 87
4.3.2 使用子域代理實現跨域
通信 88
4.3.3 子域名代理與JSONP
相結合 91
4.3.4 Internet Explorer和子域
代理 94
4.3.5 安全隱患 95
4.4 跨源資源共享 95
4.4.1 傳送簡單的HTTP請求 96
4.4.2 使用CORS傳輸
Cookie 98
4.4.3 傳送預檢請求 99
4.4.4 瀏覽器支持 99
4.5 總結 100
第5章 跨域iframe通信 101
5.1 HTML5 window.postMessage
API 102
5.1.1 使用window.postMessage
傳送信息 103
5.1.2 接收傳送給視窗的
訊息 104
5.1.3 瀏覽器的支持 106
5.2 降級技術 107
5.2.1 使用window.name傳送
訊息 108
5.2.2 使用URL片段標識符傳送訊息 111
5.2.3 使用Flash傳送訊息 113
5.3 使用easyXDM簡化跨域
訊息通信 116
5.3.1 載入並初始化easyXDM 116
5.3.2 使用easyXDM.Socket傳送
簡單信息 118
5.3.3 使用easyXDM.Rpc定義
JSON-RPC接口 119
5.4 總結 124
第6章 驗證和會話 125
6.1 第三方Cookie 126
6.1.1 Sessions的設定和
讀取 127
6.1.2 禁用第三方Cookie 128
6.1.3 Internet Explorer和
P3P頭 129
6.1.4 檢測cookies是否可用 131
6.2 設定第三方cookie 134
6.2.1 使用獨立視窗 134
6.2.2 iframe的解決方案
(只針對Safari) 137
6.2.3 Chrome和Firefox中的單頁面會話 140
6.3 會話安全 140
6.3.1 HTTPS和更安全的
cookie 141
6.3.2 多級身份認證 142
6.4 總結 144
第7章 安全性 145
7.1 Cookies,會話,和會話
竊取 146
7.2 跨站腳本 147
7.2.1 XSS攻擊 148
7.2.2 CSS中的XSS漏洞 149
7.2.3 防止XSS對套用的
攻擊 151
7.3 跨站請求偽造 153
7.3.1 XSRF攻擊 154
7.3.2 JSON劫持 155
7.3.3 保護套用免受XSRF
攻擊 156
7.4 發布者漏洞 158
7.4.1 發布者模擬 158
7.4.2 點擊劫持 160
7.4.3 拒絕服務 162
7.5 總結 162
第8章 獨特的框架 163
8.1 實現一個最基本的
SDK 165
8.1.1 初始化 166
8.1.2 異步載入 167
8.1.3 暴露公共方法 170
8.1.4 事件監聽器 170
8.2 版本管理 173
8.2.1 URL版本管理 174
8.2.2 通過初始化進行版本
控制 176
8.3 封裝Web服務的
APIs 178
8.3.1 在客戶端訪問Web服務
APIs 179
8.3.2 封裝Camera Stork API 182
8.3.3 識別發布者 186
8.3.4 用戶授權和OAuth 190
8.4 總結 191
第9章 性能 193
9.1 最佳化負荷 194
9.1.1 合併和壓縮原始碼 195
9.1.2 減少圖像請求 196
9.1.3 快取檔案 198
9.1.4 推遲HTTP請求 199
9.2 JavaScript最佳化 204
9.2.1 瀏覽器內部:UI執行緒,重繪和回流 205
9.2.2 控制耗性能的調用:throttle和debounce函式 206
9.2.3 使用setTimeout延遲
計算 208
9.3 被感知的性能 210
9.3.1 對用戶的操作保持
樂觀 211
9.3.2 在文檔就緒之前
渲染 212
9.4 總結 213
第10章 調試和測試 215
10.1 調試 216
10.1.1 在生產環境中使用開發
環境的代碼 218
10.1.2 單步執行代碼 223
10.2 測試 227
10.2.1 單元測試、集成測試和
回歸測試 228
10.2.2 使用QUnit編寫回歸
測試 230
10.2.3 使用Hiro寫回歸
測試 233
10.3 總結 236