|
他是JavaScript中最大的對象,它描述的是一個瀏覽器窗口。一般要引用它的屬性和方法時,不需要用“window.xxx”這種形式,而直接使用“xxx”。一個框架頁面也是一個窗口。
Window窗口對象有如下屬性:
name 窗口的名稱,由打開它的連接(<a target="...">)或框架頁(<frame name="...">)或某一個窗口調(diào)用的 open() 方法(見下)決定。一般我們不會用這個屬性。
status 指窗口下方的“狀態(tài)欄”所顯示的內(nèi)容。通過對 status 賦值,可以改變狀態(tài)欄的顯示。
opener 用法:window.opener;返回打開本窗口的窗口對象。注意:返回的是一個窗口對象。如果窗口不是由其他窗口打開的,在 NETscape 中這個屬性返回 null;在 IE 中返回“未定義”(undefined)。undefined 在一定程度上等于 null。注意:undefined 不是 JavaScript 常數(shù),如果你企圖使用“undefined”,那就真的返回“未定義”了。
self 指窗口本身,它返回的對象跟 window 對象是一模一樣的。最常用的是“self.close()”,放在<a>標(biāo)記中:“<a href="Javascript:self.close()">關(guān)閉窗口</a>”。
parent 返回窗口所屬的框架頁對象。
top 返回占據(jù)整個瀏覽器窗口的最頂端的框架頁對象。
history 歷史對象,見下。
location 地址對象,見下。
document 文檔對象,見下。
Window窗口對象有如下方法:
第一個方法是open() 打開一個窗口。
用法:
復(fù)制代碼 代碼如下:
open(<URL字符串>, <窗口名稱字符串>, <參數(shù)字符串>);
說明:
<URL字符串>:描述所打開的窗口打開哪一個網(wǎng)頁。如果留空(''),則不打開任意網(wǎng)頁。
<窗口名稱字符串>:描述被打開的窗口的名稱(window.name),可以使用'_top'、'_blank'等內(nèi)建名稱。這里的名稱跟“<a href="..." target="...">”里的“target”屬性是一樣的。
<參數(shù)字符串>:描述被打開的窗口的樣貌。如果只需要打開一個普通窗口,該字符串留空(''),如果要指定樣貌,就在字符串里寫上一到多個參數(shù),參數(shù)之間用逗號隔開。
例:打開一個 400 x 100 的干凈的窗口:
復(fù)制代碼 代碼如下:
open('','_blank','width=400,height=100,menubar=no,toolbar=no,
location=no,directories=no,status=no, scrollbars=yes,resizable=yes')
open()的參數(shù)
top=# 窗口頂部離開屏幕頂部的像素?cái)?shù)
left=# 窗口左端離開屏幕左端的像素?cái)?shù)
width=# 窗口的寬度
height=# 窗口的高度
menubar=... 窗口有沒有菜單,取值yes或no
toolbar=... 窗口有沒有工具條,取值yes或no
location=... 窗口有沒有地址欄,取值yes或no
directories=... 窗口有沒有連接區(qū),取值yes或no
scrollbars=... 窗口有沒有滾動條,取值yes或no
status=... 窗口有沒有狀態(tài)欄,取值yes或no
resizable=... 窗口給不給調(diào)整大小,取值yes或no
注意:open() 方法有返回值,返回的就是它打開的窗口對象。比如
var newWindow = open('','_blank');
這樣把一個新窗口賦值到“newWindow”變量中,以后通過“newWindow”變量就可以控制窗口了。
close() 關(guān)閉一個已打開的窗口。
用法:
復(fù)制代碼 代碼如下:
window.close()
或
復(fù)制代碼 代碼如下:
self.close()
主要作用是關(guān)閉本窗口;
<窗口對象>.close():關(guān)閉指定的窗口。注意如果該窗口有狀態(tài)欄,調(diào)用該方法后瀏覽器會警告:“網(wǎng)頁正在試圖關(guān)閉窗口,是否關(guān)閉?”然后等待用戶選擇是否;如果沒有狀態(tài)欄,調(diào)用該方法將直接關(guān)閉窗口。
另外Window窗口對象還有如下方法
blur() 使焦點(diǎn)從窗口移走,窗口變?yōu)椤胺腔顒哟翱凇薄?
focus() 是窗口獲得焦點(diǎn),變?yōu)椤盎顒哟翱凇薄2贿^在 Windows 98,該方法只能使窗口的標(biāo)題欄和任務(wù)欄上的相應(yīng)按鈕閃爍,提示用戶該窗口正在試圖獲得焦點(diǎn)。
scrollTo() 用法:[<窗口對象>.]scrollTo(x, y);使窗口滾動,使文檔從左上角數(shù)起的(x, y)點(diǎn)滾動到窗口的左上角。
scrollBy() 用法:[<窗口對象>.]scrollBy(deltaX, deltaY);使窗口向右滾動 deltaX 像素,向下滾動 deltaY 像素。如果取負(fù)值,則向相反的方向滾動。
resizeTo() 用法:[<窗口對象>.]resizeTo(width, height);使窗口調(diào)整大小到寬 width 像素,高 height 像素。
resizeBy() 用法:[<窗口對象>.]resizeBy(deltaWidth, deltaHeight);使窗口調(diào)整大小,寬增大 deltaWidth 像素,高增大 deltaHeight 像素。如果取負(fù)值,則減少。
alert() 用法:alert(<字符串>);彈出一個只包含“確定”按鈕的對話框,顯示<字符串>的內(nèi)容,整個文檔的讀取、Script 的運(yùn)行都會暫停,直到用戶按下“確定”。
confirm() 用法:confirm(<字符串>);彈出一個包含“確定”和“取消”按鈕的對話框,顯示<字符串>的內(nèi)容,要求用戶做出選擇,整個文檔的讀取、Script 的運(yùn)行都會暫停。如果用戶按下“確定”,則返回 true 值,如果按下“取消”,則返回 false 值。
prompt() 用法:prompt(<字符串>[, <初始值>]);彈出一個包含“確認(rèn)”“取消”和一個文本框的對話框,顯示<字符串>的內(nèi)容,要求用戶在文本框輸入一些數(shù)據(jù),整個文檔的讀取、Script 的運(yùn)行都會暫停。如果用戶按下“確認(rèn)”,則返回文本框里已有的內(nèi)容,如果用戶按下“取消”,則返回 null 值。如果指定<初始值>,則文本框里會有默認(rèn)值。
Window窗口對象有如下事件:
window.onload;發(fā)生在文檔全部下載完畢的時候。全部下載完畢意味著不但 HTML 文件,而且包含的圖片,插件,控件,小程序等全部內(nèi)容都下載完畢。本事件是 window 的事件,但是在 HTML 中指定事件處理程序的時候,我們是把它寫在<body>標(biāo)記中的。
window.onunload;發(fā)生在用戶退出文檔(或者關(guān)閉窗口,或者到另一個頁面去)的時候。與 onload 一樣,要寫在 HTML 中就寫到<body>標(biāo)記里。
window.onresize;發(fā)生在窗口被調(diào)整大小的時候。
window.onblur;發(fā)生在窗口失去焦點(diǎn)的時候。
window.onfocus;發(fā)生在窗口得到焦點(diǎn)的時候。
window.onerror;發(fā)生在錯誤發(fā)生的時候。它的事件處理程序通常就叫做“錯誤處理程序”(Error Handler),用來處理錯誤。上邊已經(jīng)介紹過,要忽略一切錯誤,就使用:
復(fù)制代碼 代碼如下:
function ignoreError() {
return true;
}
window.onerror = ignoreError;
JavaScript技術(shù):JavaScript入門教程(6) Window窗口對象,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。