Window 對象

Window 對象

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

如果文檔包含框架(<iframe> 標記),瀏覽器會為 HTML 文檔創建窗口對象,并為每個框架創建額外的窗口對象。

Window 對象屬性

對象 描述
closed 返回窗口是否已被關閉。
console 返回窗口的 Console 對象
defaultStatus 已棄用。設置或返回窗口狀態欄中的默認文本。
document 返回窗口的 Document 對象
frameElement 返回運行在窗口中的框架。
frames 返回窗口中運行的所有窗口對象。
history 返回窗口的 History 對象
innerHeight 返回窗口的文檔顯示區的高度。
innerWidth 返回窗口的文檔顯示區的寬度。
length 返回當前窗口中 <iframe> 元素的數量。
localStorage 允許在 Web 瀏覽器中保存鍵/值對。存儲沒有過期日期的數據。
location 返回窗口的 Location 對象
name 設置或返回窗口的名稱。
navigator 返回窗口的 Navigator 對象
opener 返回對創建窗口的窗口的引用。
outerHeight 返回瀏覽器窗口的高度,包括工具欄/滾動條。
outerWidth 返回瀏覽器窗口的寬度,包括工具欄/滾動條。
pageXOffset 返回當前文檔從窗口左上角(水平)滾動的像素。
pageYOffset 返回當前文檔從窗口左上角(垂直)滾動的像素。
parent 返回當前窗口的父窗口。
screen 返回窗口的 Screen 對象
screenLeft 返回窗口相對于屏幕的水平坐標。
screenTop 返回窗口相對于屏幕的垂直坐標。
screenX 返回窗口相對于屏幕的水平坐標。
screenY 返回窗口相對于屏幕的垂直坐標。
sessionStorage 允許在 Web 瀏覽器中保存鍵/值對。存儲會話的數據。
scrollX pageXOffset 的別名。
scrollY pageYOffset 的別名。
self 返回當前窗口。
status 已棄用。請避免使用它。
top 返回最頂層的瀏覽器窗口。

Window 對象方法

方法 描述
alert() 顯示帶有消息和確定按鈕的警報框(對話框)。
atob() 解碼 base-64 編碼的字符串。
blur() 從當前窗口移除焦點。
btoa() 以 base-64 編碼字符串。
clearInterval() 清除使用 setInterval() 設置的計時器。
clearTimeout() 清除使用 setTimeout() 設置的計時器。
close() 關閉當前窗口。
confirm() 顯示對話框,其中包含消息以及確定和取消按鈕。
focus() 將焦點設置到當前窗口。
getComputedStyle() 確定應用到一個文檔元素的 CSS 樣式。
getSelection() 返回 Selection 對象,表示用戶選擇的文本范圍。
matchMedia() 返回 MediaQueryList 對象,表示指定的 CSS 媒體查詢字符串。
moveBy() 相對于其當前位置移動窗口。
moveTo() 將窗口移動到指定位置。
open() 打開新的瀏覽器窗口。
print() 打印當前窗口的內容。
prompt() 用對話框請求輸入一條簡單的字符串。
requestAnimationFrame() 請求瀏覽器在下一次重繪之前調用函數來更新動畫。
resizeBy() 按指定像素調整窗口大小。
resizeTo() 將窗口大小調整為指定的寬度和高度。
scroll() 已棄用。此方法已被 scrollTo() 方法 取代。
scrollBy() 按指定的像素數滾動文檔。
scrollTo() 將文檔滾動到指定坐標。
setInterval() 周期性執行指定的代碼。
setTimeout() 在經過指定的時間之后執行代碼。
stop() 停止加載窗口。

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