第1章 目標 1
A 概念回顧 1
在瀏覽器中處理交互 2
胖與瘦 3
JavaScript的目標 5
B 技術概覽 5
標準化 6
版本 7
安全 9
C JavaScript的歷史 10
錯誤的開始 10
事實標準 11
CSS變革 13
新的開始 14
下一步 15
第2章 大背景 17
A CSS變革 17
無侵入腳本編程 18
三個層 19
分離關注點 20
B 表現(xiàn)與結構的分離 21
CSS修改 21
更改結構還是表現(xiàn) 21
C 行為與結構的分離 22
獨立文件中的函數 22
從HTML中移除事件處理程序 23
D 行為和表現(xiàn)的分離 24
下拉菜單:hover或mouseover/mouseout 25
相同的效果與相似的效果 26
E 可訪問性概覽 28
什么是可訪問性 28
無腳本 29
沒有鼠標 29
屏幕閱讀器 29
屏幕閱讀器和事件 31
可訪問性和可用性 32
F 可訪問性規(guī)則 32
條理分明的HTML 33
產生對腳本用戶有意義的內容 33
重定向用戶 35
鍵盤用戶 36
< noscript >標簽 36
G 范例腳本 37
限長的文本輸入區(qū) 37
易用的表單 38
表單驗證 39
下拉菜單 39
編輯樣式表 40
三明治拾取器 40
XMLHTTP測速計 42
站點調查 43
第3章 瀏覽器 44
A 瀏覽器 44
Mozilla家族 44
Windows的Explorer 45
Safari 46
Opera 46
其他圖形桌面瀏覽器 46
移動電話 47
屏幕閱讀器 48
B 兼容性問題 48
問題 48
解決方案 50
C 對象檢測 52
對象檢測是如何工作的 53
我們該走多遠 54
D 瀏覽器檢測 55
為什么瀏覽器檢測行不通 55
瀏覽器檢測的軍備競賽 57
拆解瀏覽器字符串 58
瀏覽器檢測的正確使用 61
E 調試 62
錯誤消息 62
處理瀏覽器的bug 65
范例 67
報告瀏覽器bug 69
第4章 準備 71
A HTML和CSS結構 71
HTML結構 71
CSS結構 72
B 鉤子 73
id 73
class 74
自定義屬性 75
名/值對 76
C 準備頁面 78
設置事件處理程序 78
確定訪問者狀態(tài) 79
設置訪問 79
產生內容 79
定義關系 80
修改文檔結構 81
D < script >標簽 81
語法 81
使用多個腳本 83
E 初始化 83
load事件 84
批量初始化 85
無侵入初始化 85
等待load事件 86
最佳方案 87
F 范例腳本 87
限長的文本輸入區(qū) 87
易用的表單 88
表單驗證 89
下拉菜單 90
編輯樣式表 91
三明治拾取器 92
XMLHTTP測速計 93
站點調查 93
細節(jié)決策 94
第5章 核心 95
A 基礎知識 96
區(qū)分大小寫 97
語句和分號 97
注釋 98
代碼塊:{} 99
運算符 100
值 101
B 數據類型 102
6種數據類型 102
數據類型轉換 105
+號的問題 106
轉換成布爾型 107
顯式數據類型轉換 107
C 普通運算符 108
算術運算符 108
++和-- 109
=、==和=== 109
!=、< 、>、<=和>= 111
條件運算符?: 112
D 變量 113
變量名稱 113
關鍵字var 114
變量作用域 114
E 處理數字 116
八進制和十六進制的數字 116
Math對象 117
toFixed() 118
parseInt()和parseFloat() 118
F 與字符串打交道 119
引號 119
連接符+ 120
字符串對象 120
G 處理布爾值 123
布爾型的變量 124
布爾運算符 124
檢測對象是否存在 126
布爾運算符的高級應用 127
H 控制結構 129
if語句 129
switch 132
for、while和do/while 135
break和continue 138
try/catch 140
I 函數 141
基本函數語法 141
參數 142
return 142
作為值的函數 144
內嵌函數和變量作用域 145
J 對象 147
點 148
定義對象 148
處理方法和屬性 150
this關鍵字 151
全局對象 152
K 關聯(lián)數組 152
方括號與點符號 153
關聯(lián)數組 154
for in語句 155
L 數組 156
嵌套數組 157
數組表示法 157
數組的使用 158
length 158
push、pop、shift和unshift 159
第6章 BOM 161
A window對象 162
作為全局對象的window 162
新的頁面,新的window對象 163
作為新全局對象的新窗口 164
窗口屬性 166
B 跨瀏覽器通信 167
打開彈出窗口 167
指向其他窗口 168
重新建立聯(lián)系 169
關閉窗口 172
彈出窗口攔截軟件 173
C 導航 174
location 174
history 175
D 窗口幾何學 176
screen對象 176
窗口尺寸 177
移動、改變大小和滾動窗口 177
獲得焦點和失去焦點 178
E 雜項 178
navigator對象 178
alert、confirm和prompt 179
timeout與interval 180
F document對象 181
lastModified 181
referrer 182
domain 182
write() 182
open()與close() 183
G cookie 184
名/值對 185
有效期 185
域和路徑 186
設置cookie 186
document.cookie 187
讀取cookie 187
刪除cookie 188
cookie示范用例 188
用戶控制權 189
確定cookie支持 189
第7章 事件 191
A 瀏覽器兼容性 191
按實際情況解決 192
概覽 192
B 事件 192
鼠標事件 193
鍵盤事件 195
接口事件 196
W3C事件 199
Microsoft事件 200
默認操作 200
事件模擬 202
C 注冊事件處理器 202
行內事件處理程序 203
傳統(tǒng)模型 203
W3C和微軟的模型 206
最佳方式 208
D 事件冒泡與捕獲 209
W3C模型 211
傳統(tǒng)模型與微軟模型 212
事件冒泡的實踐應用 212
E 事件對象和它的屬性 214
event對象 214
type 215
找到目標對象 215
鼠標的位置 215
鼠標按鍵 218
鍵盤屬性 218
F 找到目標對象 219
區(qū)別 219
this 220
目標對象 222
this還是目標對象 224
G 范例腳本 227
限長的文本輸入區(qū) 227
易用的表單 228
表單驗證 229
下拉菜單 230
編輯樣式表 231
三明治拾取器 232
XMLHTTP測速計 232
站點調查 233
H 下拉菜單、mouseout和相關的
目標對象 233
mouseover 234
mouseout及其問題 235
解決方案 236
relatedTarget、fromElement和toElement 237
第8章 DOM 238
A 概念 239
節(jié)點 239
家譜 240
創(chuàng)建元素 241
B 尋找元素 242
長途旅行 242
短途旅行 244
根節(jié)點 247
C 節(jié)點信息 247
nodeName 247
nodeValue 248
nodeType 248
tagName 249
D 修改文檔樹 249
一般規(guī)則 249
appendChild() 250
insertBefore() 251
removeChild() 252
replaceChild() 253
移除所有的子節(jié)點 254
E 創(chuàng)建和克隆元素 255
createElement()和
createTextNode() 255
cloneNode() 257
創(chuàng)建表格和表單域 259
F innerHTML 261
錯誤的輸入,錯誤的輸出 261
速度 262
范例 263
innerHTML與標準的DOM合作 263
innerHTML與DOM 265
G 屬性 267
屬性的讀寫 267
HTML屬性和JavaScript屬性 268
讀寫屬性的最佳方式 270
H 文本節(jié)點 270
nodeValue 270
空文本節(jié)點 271
I 節(jié)點列表 273
危險 275
輔助數組 276
J 表單與0級DOM 277
0級DOM的節(jié)點列表 277
表單域 278
K DOM超空間 283
在超空間中存儲元素 283
超空間和innerHTML 285
元素在超空間中 285
L 標記 286
第9章 CSS修改 288
A style屬性 288
破折號 289
單位 290
獲取樣式 290
簡寫樣式 291
B 更改class和id 292
增加class 294
移除class 295
C 向頁面中寫入CSS 295
立刻執(zhí)行 297
D 更改整個樣式表 298
理論 298
document.styleSheets 299
cssRules[]和rules[] 300
selectorText 300
style 301
cssText和提交樣式表 301
插入和刪除規(guī)則 302
E 比較 304
范例 305
F 顯示和隱藏元素 305
簡單的顯示或隱藏腳本 306
顯示和隱藏表格行 307
G 動畫 309
動畫原理 309
setTimeout與setInterval 310
H 元素的尺寸和位置 314
元素的尺寸 314
元素的位置 316
第10章 數據檢索 319
A 發(fā)送請求 319
XMLHttpRequest對象 320
Open 321
readystatechange 322
send 323
setRequestHeader 323
sendRequest函數 324
abort 325
B 處理響應信息 325
狀態(tài) 325
回調函數 326
responseText和responseXML 326
getResposneHeader 328
getAllResponseHeaders 328
C 響應格式 328
XML 328
HTML 329
JSON 330
CSV 331
最佳格式 332
D 可用性 333
HTML的可訪問性 333
其他響應信息格式的可訪問性 335
后記 336