JavaScript中的Window視窗對象

來源:互聯網
上載者:User

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.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;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.