第8章 BOMchrome
1.window對象:既是BOM的核心對象,也是ES的Global對象。瀏覽器
2.若是頁面包含框架(frame),每一個框架都有本身的window對象,保存在frames集合中。框架
3.top對象始終指向最外層框架,即瀏覽器窗口,使用它能夠在一個框架中訪問另外一個框架。測試
parent對象始終指向當前框架的上層框架。url
self對象始終指向window。spa
4.window對象關於窗口位置的屬性:firefox
(1)screenLeft和screenTop(火狐不支持)/screenX和screenY(IE不支持)IE指的是文檔區相對屏幕的距離,chrome/firefox/safari指的是瀏覽器窗口相對屏幕距離插件
(2)moveTo(x,y)移動到(x,y)座標處代理
moveBy(x,y)在水平和垂直方向分別移動x像素和y像素對象
(3)innerWidth和innerHeight視口寬度和高度
outWidth和outHeight瀏覽器窗口大小(在chrome中都是表示視口大小)
(4)resizeTo(x,y)將瀏覽器窗口調整爲x寬和y高
resizeBy(x,y)x,y表示新窗口與原窗口的差
5.導航到特定目標或者打開新窗口:window.open(URL,目標位置,特性字符串,是否取代歷史記錄)
A.opener表示打開這個窗口的原始窗口對象
A.closed表示瀏覽器是否被關閉
6.若是彈出窗口被瀏覽器內置程序屏蔽,window.open()會返回null,若是被插件屏蔽,會拋出錯誤,必須用try-catch捕捉。
7.超時調用:setTimeout(執行的代碼,時間)。時間是指再過多久把當前任務添加到任務隊列中
clearTimeout()取消超時調用
8.間歇調用:setInterval(執行的代碼,時間)。
clearInterval()取消間歇調用。後一個間歇調用可能會在前一個間歇調用結束前啓動(視要執行代碼而定),因此通常都是用超時調用模擬間歇調用
9.系統對話框:alert(),confirm(),prompt(),window.print(),window.find()
10.location對象:提供當前加載文檔相關信息。既是window對象的屬性,也是document對象的屬性。
11.location.assign(url):打開一個新的URL,跟設置window.location=url和location.href=url同樣。瀏覽器歷史記錄會增長一條記錄,用戶能夠後退。
location.replace(url):打開一個新的URL,歷史記錄不會新增,用戶不能後退。
location.reload():從新加載當前頁面
12.navigator對象:提供瀏覽器相關信息
13.navigator.plugins[i]:檢測是否安裝特定插件
navigator.registerContentHandler()和navigator.registerProtocolHandler()
14.其餘對象:screen對象,history對象
第9章 客戶端檢測
1.能力檢測:(1)先檢測達成目的的最經常使用的特性。(2)必須測試實際要用到的特性。(確保判斷條件指明的惟一性)
檢測某個特性是否會按適當方式行事,而不是檢測是否存在。P218
2.怪癖檢測:運行一小段代碼,肯定某一特性不能正常工做。
3.用戶代理檢測:經過用戶代理字符串來肯定實際使用的瀏覽器。