JavaScript中的Window窗口對象
他是JavaScript中最大的對象,它描述的是一個浏覽器窗口。一般要引用它的屬性和方法時,不需要用“window.xxx”這種形式,而直接使用“xxx”。一個框架頁面也是一個窗口。
Window窗口對象有如下屬性:
- name 窗口的名稱,由打開它的連接(<a target="...">)或框架頁(<frame name="...">)或某一個窗口調用的 open() 方法(見下)決定。一般我們不會用這個屬性。
- status 指窗口下方的“狀態欄”所顯示的內容。通過對 status 賦值,可以改變狀態欄的顯示。
- opener 用法:window.opener;返回打開本窗口的窗口對象。注意:返回的是一個窗口對象。如果窗口不是由其他窗口打開的,在 Netscape 中這個屬性返回 null;在 IE 中返回“未定義”(undefined)。undefined 在一定程度上等於 null。注意:undefined 不是 JavaScript 常數,如果你企圖使用“undefined”,那就真的返回“未定義”了。
- self 指窗口本身,它返回的對象跟 window 對象是一模一樣的。最常用的是“self.close()”,放在<a>標記中:“<a href="javascript:self.close()">關閉窗口</a>”。
- parent 返回窗口所屬的框架頁對象。
- top 返回占據整個浏覽器窗口的最頂端的框架頁對象。
- history 歷史對象,見下。
- location 地址對象,見下。
- document 文檔對象,見下。
Window窗口對象有如下方法:
第一個方法是
open() 打開一個窗口。
用法:
open(<URL字符串>, <窗口名稱字符串>, <參數字符串>);
說明:
- <URL字符串>:描述所打開的窗口打開哪一個網頁。如果留空(''),則不打開任意網頁。
- <窗口名稱字符串>:描述被打開的窗口的名稱(window.name),可以使用'_top'、'_blank'等內建名稱。這裡的名稱跟“<a href="..." target="...">”裡的“target”屬性是一樣的。
- <參數字符串>:描述被打開的窗口的樣貌。如果只需要打開一個普通窗口,該字符串留空(''),如果要指定樣貌,就在字符串裡寫上一到多個參數,參數之間用逗號隔開。
例:打開一個 400 x 100 的干淨的窗口:
open('','_blank','width=400,height=100,menubar=no,toolbar=no,
location=no,directories=no,status=no, scrollbars=yes,resizable=yes')
open()的參數
- top=# 窗口頂部離開屏幕頂部的像素數
- left=# 窗口左端離開屏幕左端的像素數
- width=# 窗口的寬度
- height=# 窗口的高度
- menubar=... 窗口有沒有菜單,取值yes或no
- toolbar=... 窗口有沒有工具條,取值yes或no
- location=... 窗口有沒有地址欄,取值yes或no
- directories=... 窗口有沒有連接區,取值yes或no
- scrollbars=... 窗口有沒有滾動條,取值yes或no
- status=... 窗口有沒有狀態欄,取值yes或no
- resizable=... 窗口給不給調整大小,取值yes或no
注意:open() 方法有返回值,返回的就是它打開的窗口對象。比如
var newWindow = open('','_blank');
這樣把一個新窗口賦值到“newWindow”變量中,以後通過“newWindow”變量就可以控制窗口了。
close() 關閉一個已打開的窗口。
用法:
window.close()
或
self.close()
主要作用是關閉本窗口;
<窗口對象>.close():關閉指定的窗口。注意如果該窗口有狀態欄,調用該方法後浏覽器會警告:“網頁正在試圖關閉窗口,是否關閉?”然後等待用戶選擇是否;如果沒有狀態欄,調用該方法將直接關閉窗口。
另外Window窗口對象還有如下方法
- blur() 使焦點從窗口移走,窗口變為“非活動窗口”。
- focu