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