Window 對象

Window 對象

Window 對象表示瀏覽器中打開的窗口。

如果文檔包含框架(frame 或 iframe 標簽),瀏覽器會為 HTML 文檔創建一個 window 對象,并為每個框架創建一個額外的 window 對象。

注釋:沒有應用于 window 對象的公開標準,不過所有瀏覽器都支持該對象。

Window 對象集合

集合 描述
frames[]

返回窗口中所有命名的框架。

該集合是 Window 對象的數組,每個 Window 對象在窗口中含有一個框架或 <iframe>。屬性 frames.length 存放數組 frames[] 中含有的元素個數。注意,frames[] 數組中引用的框架可能還包括框架,它們自己也具有 frames[] 數組。

Window 對象屬性

屬性 描述
closed 返回窗口是否已被關閉。
defaultStatus 設置或返回窗口狀態欄中的默認文本。
document 對 Document 對象的只讀引用。請參閱 Document 對象
history 對 History 對象的只讀引用。請參數 History 對象
innerheight 返回窗口的文檔顯示區的高度。
innerwidth 返回窗口的文檔顯示區的寬度。
length 設置或返回窗口中的框架數量。
location 用于窗口或框架的 Location 對象。請參閱 Location 對象
name 設置或返回窗口的名稱。
Navigator 對 Navigator 對象的只讀引用。請參數 Navigator 對象
opener 返回對創建此窗口的窗口的引用。
outerheight 返回窗口的外部高度。
outerwidth 返回窗口的外部寬度。
pageXOffset 設置或返回當前頁面相對于窗口顯示區左上角的 X 位置。
pageYOffset 設置或返回當前頁面相對于窗口顯示區左上角的 Y 位置。
parent 返回父窗口。
Screen 對 Screen 對象的只讀引用。請參數 Screen 對象
self 返回對當前窗口的引用。等價于 Window 屬性。
status 設置窗口狀態欄的文本。
top 返回最頂層的先輩窗口。
window window 屬性等價于 self 屬性,它包含了對窗口自身的引用。
  • screenLeft
  • screenTop
  • screenX
  • screenY
只讀整數。聲明了窗口的左上角在屏幕上的的 x 坐標和 y 坐標。IE、Safari 和 Opera 支持 screenLeft 和 screenTop,而 Firefox 和 Safari 支持 screenX 和 screenY。

Window 對象方法

方法 描述
alert() 顯示帶有一段消息和一個確認按鈕的警告框。
blur() 把鍵盤焦點從頂層窗口移開。
clearInterval() 取消由 setInterval() 設置的 timeout。
clearTimeout() 取消由 setTimeout() 方法設置的 timeout。
close() 關閉瀏覽器窗口。
confirm() 顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。
createPopup() 創建一個 pop-up 窗口。
focus() 把鍵盤焦點給予一個窗口。
moveBy() 可相對窗口的當前坐標把它移動指定的像素。
moveTo() 把窗口的左上角移動到一個指定的坐標。
open() 打開一個新的瀏覽器窗口或查找一個已命名的窗口。
print() 打印當前窗口的內容。
prompt() 顯示可提示用戶輸入的對話框。
resizeBy() 按照指定的像素調整窗口的大小。
resizeTo() 把窗口的大小調整到指定的寬度和高度。
scrollBy() 按照指定的像素值來滾動內容。
scrollTo() 把內容滾動到指定的坐標。
setInterval() 按照指定的周期(以毫秒計)來調用函數或計算表達式。
setTimeout() 在指定的毫秒數后調用函數或計算表達式。

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 方法則不同,它們通過簡單的對話框與用戶進行交互。