JavaScript中的Window窗口對象

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() 使焦點從窗口移走,窗口變為“非活動窗口”。
 
focus() 是窗口獲得焦點,變為“活動窗口”。不過在 Windows 98,該方法隻能使窗口的標題欄和任務欄上的相應按鈕閃爍,提示用戶該窗口正在試圖獲得焦點。
 
scrollTo() 用法:[<窗口對象>.]scrollTo(x, y);使窗口滾動,使文檔從左上角數起的(x, y)點滾動到窗口的左上角。
 
scrollBy() 用法:[<窗口對象>.]scrollBy(deltaX, deltaY);使窗口向右滾動 deltaX 像素,向下滾動 deltaY 像素。如果取負值,則向相反的方向滾動。
 
resizeTo() 用法:[<窗口對象>.]resizeTo(width, height);使窗口調整大小到寬 width 像素,高 height 像素。
 
resizeBy() 用法:[<窗口對象>.]resizeBy(deltaWidth, deltaHeight);使窗口調整大小,寬增大 deltaWidth 像素,高增大 deltaHeight 像素。如果取負值,則減少。
 
alert() 用法:alert(<字符串>);彈出一個隻包含“確定”按鈕的對話框,顯示<字符串>的內容,整個文檔的讀取、Script 的運行都會暫停,直到用戶按下“確定”。
 
confirm() 用法:confirm(<字符串>);彈出一個包含“確定”和“取消”按鈕的對話框,顯示<字符串>的內容,要求用戶做出選擇,整個文檔的讀取、Script 的運行都會暫停。如果用戶按下“確定”,則返回 true 值,如果按下“取消”,則返回 false 值。
 
prompt() 用法:prompt(<字符串>[, <初始值>]);彈出一個包含“確認”“取消”和一個文本框的對話框,顯示<字符串>的內容,要求用戶在文本框輸入一些數據,整個文檔的讀取、Script 的運行都會暫停。如果用戶按下“確認”,則返回文本框裡已有的內容,如果用戶按下“取消”,則返回 null 值。如果指定<初始值>,則文本框裡會有默認值。
 



Window窗口對象有如下事件:
window. HTML 文件,而且包含的圖片,插件,控件,小程序等全部內容都下載完畢。本事件是 window 的事件,但是在 HTML 中指定事件處理程序的時候,我們是把它寫在<body>標記中的。
window.onunload;發生在用戶退出文檔(或者關閉窗口,或者到另一個頁面去)的時候。與 onload 一樣,要寫在 HTML 中就寫到<body>標記裡。
 


window.onresize;發生在窗口被調整大小的時候。
 
window.onblur;發生在窗口失去焦點的時候。
 
window.onfocus;發生在窗口得到焦點的時候。
 
window.onerror;發生在錯誤發生的時候。它的事件處理程序通常就叫做“錯誤處理程序”(Error Handler),用來處理錯誤。上邊已經介紹過,要忽略一切錯誤,就使用:
function ignoreError() {
  return true;
}
window.onerror = ignoreError;

You May Also Like