1. 程式人生 > >JS中Windows物件

JS中Windows物件

一.說明:他是JS中最大的物件,它描述的是一個瀏覽器視窗,一般要引用他的屬性和方法時,不需要用“Window.XXX”這種形式,而是直接使用“XXX”。一個框架頁面也是一個視窗。

二.Window視窗物件有如下屬性。

   1.name 視窗的名稱,由開啟它的連線(<a target="...">)或框架頁(<frame name="...">)或某一個視窗呼叫的 open() 方法(見下)決定。一般我們不會用這個屬性。

   2.status 指視窗下方的“狀態列”所顯示的內容。通過對 status 賦值,可以改變狀態列的顯示。

   3.opener 用法:window.opener;返回開啟本視窗的視窗物件。注意:返回的是一個視窗物件。如果視窗不是由其他視窗開啟的,在 Netscape 中這個屬性返回 null;在 IE 中返回“未定義”(undefined)。undefined 在一定程度上等於 null。注意:undefined 不是 JavaScript 常數,如果你企圖使用“undefined”,那就真的返回“未定義”了。
   4.self 指視窗本身,它返回的物件跟 window 物件是一模一樣的。最常用的是“self.close()”,放在<a>標記中:“<a href="javascript:self.close()">關閉視窗</a>”。
   5.parent 返回視窗所屬的框架頁物件。

   6.top 返回佔據整個瀏覽器視窗的最頂端的框架頁物件。

三.Window視窗物件有如下方法。

   1.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() 關閉一個已開啟的視窗。

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.onload;發生在文件全部下載完畢的時候。全部下載完畢意味著不但 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;