JavaScript中的Window視窗物件
他是JavaScript中最大的對象,它描述的是一個瀏覽器視窗。一般要引用它的屬性和方法時,不需要用「window.xxx」這種形式,而直接使用「xxx」。一個框架頁面也是一個視窗。
Window視窗物件有以下屬性:
name 視窗的名稱,由開啟它的連接()或框架頁()或某一個視窗呼叫的open() 方法(見下)決定。一般我們不會用這個屬性。
status 指視窗下方的「狀態列」所顯示的內容。透過對 status 賦值,可以改變狀態列的顯示。
opener 用法:window.opener;傳回開啟本視窗的視窗物件。注意:傳回的是一個視窗物件。如果視窗不是由其他視窗開啟的,在 Netscape 中這個屬性傳回 null;在 IE 中傳回「未定義」(undefined)。 undefined 在某種程度上等於 null。注意:undefined 不是 JavaScript 常數,如果你企圖使用“undefined”,那就真的回傳“未定義”了。
self 指視窗本身,它回傳的物件跟 window 物件是一模一樣的。最常用的是“self.close()”,放在標記中:“
parent 返回窗口所屬的框架頁對象。
top 傳回佔據整個瀏覽器視窗的最頂端的框架頁物件。下列方法:
第一個方法是open() 開啟一個視窗。
用法:
open(
說明:
例:打開一個400 x 100 的乾淨的視窗:
open(,_blank,width=400,height=100,menubar=no,toolbar=no,
location=no,directories=no,status=no, scrollbars=yes,resizable=yes)
open()的參數
left=# 視窗左端離開螢幕左端的像素數
left=# 視窗左端離開螢幕左端的像素數
height=# 視窗的高度
menubar=... 視窗有沒有選單,取值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()
主要作用是關閉本視窗;
另外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 中指定事件處理程序的時候,我們是把它寫在
window.onresize;發生在視窗被調整大小的時候。
window.onblur;發生在視窗失去焦點的時候。
window.onfocus;發生在視窗得到焦點的時候。
window.onerror;發生在錯誤發生的時候。它的事件處理程序通常就叫做「錯誤處理程序」(Error Handler),用來處理錯誤。上邊已經介紹過,要忽略一切錯誤,就使用:
function ignoreError() {
return true;
}
window.onerror = ignoreError;