Window 對象
Window 對象表示瀏覽器中打開的視窗。
如果文檔包含框架(frame 或 iframe 標籤),瀏覽器會為 HTML 文檔創建一個 window 對象,並為每個框架創建一個額外的 window 對象。
注釋:沒有套用於 window 對象的公開標準,不過所有瀏覽器都支持該對象。
IE: Internet Explorer, F: Firefox, O: Opera.
Window 對象集合
集合 | 描述 | IE | F | O |
frames[] | 返回視窗中所有命名的框架。 該集合是 Window 對象的數組,每個 Window 對象在視窗中含有一個框架或 <iframe>。屬性 frames.length 存放數組 frames[] 中含有的元素個數。注意,frames[] 數組中引用的框架可能還包括框架,它們自己也具有 frames[] 數組。 | 4 | 1 | 9 |
Window 對象屬性
屬性 | 描述 | IE | F | O |
closed | 返回視窗是否已被關閉。 | 4 | 1 | 9 |
defaultStatus | 設定或返回視窗狀態欄中的默認文本。 | 4 | No | 9 |
document | 對 Document 對象的唯讀引用。請參閱 Document 對象。 | 4 | 1 | 9 |
history | 對 History 對象的唯讀引用。請參數 History 對象。 | 4 | 1 | 9 |
innerheight | 返回視窗的文檔顯示區的高度。 | No | No | No |
innerwidth | 返回視窗的文檔顯示區的寬度。 | No | No | No |
length | 設定或返回視窗中的框架數量。 | 4 | 1 | 9 |
location | 用於視窗或框架的 Location 對象。請參閱 Location 對象。 | 4 | 1 | 9 |
name | 設定或返回視窗的名稱。 | 4 | 1 | 9 |
Navigator | 對 Navigator 對象的唯讀引用。請參數 Navigator 對象。 | 4 | 1 | 9 |
opener | 返回對創建此視窗的視窗的引用。 | 4 | 1 | 9 |
outerheight | 返回視窗的外部高度。 | No | No | No |
outerwidth | 返回視窗的外部寬度。 | No | No | No |
pageXOffset | 設定或返回當前頁面相對於視窗顯示區左上角的 X 位置。 | No | No | No |
pageYOffset | 設定或返回當前頁面相對於視窗顯示區左上角的 Y 位置。 | No | No | No |
parent | 返回父視窗。 | 4 | 1 | 9 |
Screen | 對 Screen 對象的唯讀引用。請參數 Screen 對象。 | 4 | 1 | 9 |
self | 返回對當前視窗的引用。等價於 Window 屬性。 | 4 | 1 | 9 |
status | 設定視窗狀態欄的文本。 | 4 | No | 9 |
top | 返回最頂層的先輩視窗。 | 4 | 1 | 9 |
window | window 屬性等價於 self 屬性,它包含了對視窗自身的引用。 | 4 | 1 | 9 |
screenLeft screenTop screenx screenY | 唯讀整數。聲明了視窗的左上角在螢幕上的的 x 坐標和 y 坐標。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。 | 4 | 1 | 9 |
Window 對象方法
方法 | 描述 | IE | F | O |
alert() | 顯示帶有一段訊息和一個確認按鈕的警告框。 | 4 | 1 | 9 |
blur() | 把鍵盤焦點從頂層視窗移開。 | 4 | 1 | 9 |
clearInterval() | 取消由 setInterval() 設定的 timeout。 | 4 | 1 | 9 |
clearTimeout() | 取消由 setTimeout() 方法設定的 timeout。 | 4 | 1 | 9 |
close() | 關閉瀏覽器視窗。 | 4 | 1 | 9 |
confirm() | 顯示帶有一段訊息以及確認按鈕和取消按鈕的對話框。 | 4 | 1 | 9 |
createPopup() | 創建一個 pop-up 視窗。 | 4 | No | No |
focus() | 把鍵盤焦點給予一個視窗。 | 4 | 1 | 9 |
moveBy() | 可相對視窗的當前坐標把它移動指定的像素。 | 4 | 1 | 9 |
moveTo() | 把視窗的左上角移動到一個指定的坐標。 | 4 | 1 | 9 |
open() | 打開一個新的瀏覽器視窗或查找一個已命名的視窗。 | 4 | 1 | 9 |
print() | 列印當前視窗的內容。 | 5 | 1 | 9 |
prompt() | 顯示可提示用戶輸入的對話框。 | 4 | 1 | 9 |
resizeBy() | 按照指定的像素調整視窗的大小。 | 4 | 1 | 9 |
resizeTo() | 把視窗的大小調整到指定的寬度和高度。 | 4 | 1.5 | 9 |
scrollBy() | 按照指定的像素值來滾動內容。 | 4 | 1 | 9 |
scrollTo() | 把內容滾動到指定的坐標。 | 4 | 1 | 9 |
setInterval() | 按照指定的周期(以毫秒計)來調用函式或計算表達式。 | 4 | 1 | 9 |
setTimeout() | 在指定的毫秒數後調用函式或計算表達式。 | 4 | 1 | 9 |
Window 對象描述
Window 對象表示一個瀏覽器視窗或一個框架。在客戶端 JavaScript 中,Window 對象是全局對象,所有的表達式都在當前的環境中計算。也就是說,要引用當前視窗根本不需要特殊的語法,可以把那個視窗的屬性作為全局變數來使用。例如,可以只寫 document,而不必寫 window.document。
同樣,可以把當前視窗對象的方法當作函式來使用,如只寫 alert(),而不必寫 Window.alert()。
除了上面列出的屬性和方法,Window 對象還實現了核心 JavaScript 所定義的所有全局屬性和方法。
Window 對象的 window 屬性和 self 屬性引用的都是它自己。當你想明確地引用當前視窗,而不僅僅是隱式地引用它時,可以使用這兩個屬性。除了這兩個屬性之外,parent 屬性、top 屬性以及 frame[] 數組都引用了與當前 Window 對象相關的其他 Window 對象。
要引用視窗中的一個框架,可以使用如下語法:
frame[i] //當前視窗的框架self.frame[i] //當前視窗的框架w.frame[i] //視窗 w 的框架要引用一個框架的父視窗(或父框架),可以使用下面的語法:
parent //當前視窗的父視窗self.parent //當前視窗的父視窗w.parent //視窗 w 的父視窗要從頂層視窗含有的任何一個框架中引用它,可以使用如下語法:
top //當前框架的頂層視窗self.top //當前框架的頂層視窗f.top //框架 f 的頂層視窗新的頂層瀏覽器視窗由方法 Window.open() 創建。當調用該方法時,應把 open() 調用的返回值存儲在一個變數中,然後使用那個變數來引用新視窗。新視窗的 opener 屬性反過來引用了打開它的那個視窗。
一般來說,Window 對象的方法都是對瀏覽器視窗或框架進行某種操作。而 alert() 方法、confirm() 方法和 prompt 方法則不同,它們通過簡單的對話框與用戶進行互動。