window對象
是BOM的核心對象,它表示瀏覽器的一個實例。很多全局的JavaScript對象(如location和navigator)實際上都是window對象的屬性
window對象會在 <body> 或 <frameset> 每次出現時被自動創建。
窗口的位置(也可以理解為瀏覽器的位置)
- 窗口距離屏幕左邊的位置:screenLeft & screenX
- 窗口距離屏幕上邊的位置:screenTop & screenY
以上兩個方法都有兼容性問題,可搭配使用
- 窗口的移動:moveBy(x,y) 移動多少像素 & MoveTo(x,y) 移動到坐標軸位置
這種方法可能被瀏覽器禁用,opera和IE7(及更高版本)默認禁用,此方法不適用于框架,只能對最外層的window對象使用
窗口大小
- innerWidth、innerHeight、outerWidth、outerHeight
- 遇到IE6兼容性問題,可使用DOM的方式解決(document.documentElement.clientHeight 標準模式 或者 document.body.clientWidth 混淆模式)
沒有文檔聲明則為混淆模式
- resizeTo() 和 resizeBy()
操作基本同上moveTo/By 方法,注意事項亦是
導航和打開窗口
-
window.open()
傳入參數(4):URL、窗口目標、一個特性字符串(新打開窗口的一些屬性設置)及一個表示新頁面是否取代瀏覽器歷史記錄中當前加載頁面的布爾值
此方法會返回一個指向新窗口的引用,即一個維持母窗口和子窗口的聯系,母窗口可對子窗口進行一定的操作,如果要切斷這種聯系,需要將其opener屬性設置為null
- 現在的瀏覽器對彈出窗口有一定限制,如果彈出窗口被瀏覽器屏蔽了,其引用為null(window.open()=null),彈窗被屏蔽,但彈窗的相關信息還是會顯示
間歇調用和超時調用(定時器)
- setTimeout 、setInterval
一般認為,使用超時調用來模仿間歇調用是一種最佳模式
系統對話框
- alert() ; confirm() ; prompt()
- window.print() (打印對話框) ;** window.find()** (查找對話框)
/__________________________________________ 接下來都是window對象的成員對象(如window.location) __________________________________________/
location對象
location對象提供了與當前窗口中加載的文檔有關的信息,還提供了一些導航功能,它的所有屬性(如hash)都是可讀可寫的。這個對象的強大體現在它可以將URL拆分成幾個片段供我們使用。
位置操作(網址位置,不是窗口位置)
- assign(url)
更改頁面的網址,并生成一條歷史紀錄
- replace(url)
更改頁面網址,并禁止返回操作,不會生成此條瀏覽器記錄(安全性)
- reload()
重新加載頁面,括號里什么都不填就會重緩存重新加載頁面,如果加上 true 則從服務器重新加載;位于reload()后的代碼可能會出現不執行的情況,所以最好放在代碼最后
navigator對象
此對象是識別客戶端瀏覽器的事實標準。它有一套瀏覽器的屬性可供查看。
檢測插件
- 非IE瀏覽器:利用navigator.plugins[i].name 來檢測是否存在這個插件
- IE 瀏覽器:使用專有的ActiveXObject類型,創建一個實例
plugins集合有個refresh()方法,可以刷新插件
注冊處理程序
- registerContentHandler() & registerProtocolHandler()
screen對象
———
獲取客戶端屏幕信息
history對象
———
操作瀏覽器的歷史紀錄