javascript|window 熟練window對象的open、close、alert、confirm、prompt、setTimeout、clearTimeout、setInterval、clearInterval、moveBy、resizeBy、scrollBy方法的使用
掌握window對象的moveTo、resizeTo、scrollTo、print方法的使用
熟練掌握window對象的status、location、name、self、opener屬性的使用 Window對象是用戶端javascript最高層對象之一,只要開啟瀏覽器視窗,不管該視窗中是否有開啟的網頁,當遇到BODY、FRAMESET或FRAME元素時,都會自動建立window對象的執行個體。另外,該對象的執行個體也可由window.open()方法建立。由於window對象是其它大部分對象的共同祖先,在調用window對象的方法和屬性時,可以省略window對象的引用。例如:window.document.write()可以簡寫成: document.write()。 在視窗中觖發本視窗對象的任何方法和屬性時可以省去視窗的執行個體名稱。例如給當前的myWin視窗設定status屬性時,可以只用status而不用myWin.status。但是,在事件處理中調用location屬性、close()方法或open()方法時必須使用執行個體名稱。
6-2-1 window對象的方法
window對象有以下方法:
open
close
alert
confirm
prompt
setTimeout
clearTimeout
setInterval
clearInterval
moveBy
moveTo
resizeBy
resizeTo
scrollBy
scrollTo
find
back
forward
home
stop
print
blur
focus
captureEvent
enableExternalCapture
disableExternalCapture
handleEvent
releaseEvent
routeEvent
scroll
1. open方法
文法格式:
window.open(URL,視窗名稱,視窗風格)
功能:開啟一個新的視窗,並在視窗中裝載指定URL地址的網頁。
說明:
open方法用於開啟一個新的瀏覽器視窗,並在新視窗中裝入一個指定的URL地址
;
open方法在開啟一個新的瀏覽器視窗時,還可以指定視窗的名稱(第二個參數);
open方法在開啟一個新的瀏覽器視窗時,還可以指定視窗的風格(第三個參數),
視窗風格有以下選項,這些選項可以多選,如果多選,各選項之間用逗號分隔:
toolbar:指定視窗是否有標準工具列。當該選項的值為1或yes時,表示有標準
工具列,當該選項的值為0或no時,表示沒有標準工具列;
location:指定視窗是否有地址工具列,選項的值及含義與toolbar相同;
directories:指定視窗是否有連結工具列,選項的值及含義與toolbar相同;
status:指定視窗是否有狀態列,選項的值及含義與toolbar相同;
menubar:指定視窗是否有菜單,選項的值及含義與toolbar相同;
scrollbar:指定當前視窗文檔大於視窗時是否有捲軸,選項的值及含義與
toolbar相同;
resizable:指定視窗是否可改變大小,選項的值及含義與toolbar相同;
width:以像素為單位指定視窗的寬度,已被innerWidth取代;
height:以像素為單位指定視窗的高度,已被innerHeight取代;
outerWidth:以像素為單位指定視窗的外部寬度;
outerHeight:以像素為單位指定視窗的外部高度;
left:以像素為單位指定視窗距螢幕左邊的位置;
top:以像素為單位指定視窗距螢幕頂端的位置;
alwaysLowered:指定視窗隱藏在所有視窗之後,選項的值及含義與toolbar相同
;
alwaysRaised:指定視窗浮在所有視窗之上,選項的值及含義與toolbar相同;
dependent:指定開啟的視窗為當前視窗的一個子視窗,並隨著父視窗的關閉而
關閉,選項的值及含義與toolbar相同;
hotkeys:在沒有功能表列的新視窗中設定安全退出的熱鍵,選項的值及含義與
toolbar相同;
innerHeight:設定視窗中文檔的像素高度;
innerWidth:設定視窗中文檔的像素寬度;
screenX:設定視窗距離螢幕左邊界的像素長度;
screenY:設定視窗距離螢幕上邊界的像素長度;
titleBar:指明標題列是否在新視窗中可見,選項的值及含義與toolbar相同;
z-look:指明當視窗被啟用時,不能浮在其它視窗之上,選項的值及含義與
toolbar相同。
open方法返回的是該視窗的引用。
小技巧:該方法經常用於在開啟一個網頁時自動開啟另一個視窗。
例6-2-1:編製一個小程式,它用於在開啟當前視窗時自動開啟另一個視窗,要
求該窗沒有標準工具列、地址欄、連結工具列、功能表列,但有狀態列,視窗中打
開的網頁地址為:http://www.dlrtvu.edu.cn。
2. close方法
文法格式:
window.close()
功能:close方法用於自動關閉瀏覽器視窗。
3. alert方法
文法格式:
window.alert(提示字串)
功能:彈出一個警告框,在警告框內顯示提示字串文本。
4. confirm方法
文法格式:
window.confirm(提示字串)
功能:顯示一個確認框,在確認框內顯示提示字串,當使用者單擊“確定”按鈕
時該方法返回true,單擊“取消”時返回false。
5. prompt方法
文法格式:
window.prompt(提示字串,預設文本)
功能:顯示一個輸入框,在輸入框內顯示提示字串,在輸入文字框顯示預設文
本,並等待使用者輸入,當使用者單擊“確定”按鈕時,返回使用者輸入的字串,當
單擊“取消”按鈕時,返回null值。
6. setTimeout方法
文法格式:
window.setTimeout(代碼字元運算式,毫秒數)
功能:定時設定,當到了指定的毫秒數後,自動執行代碼字元運算式。
7. clearTimeout方法
文法格式:
window.clearTimeout(定時器)
功能:取消以前的定時設定,其中的參數是用setTimeout設定時的傳回值。
8. setInterval方法
文法格式:
window.setInterval(代碼字元運算式,毫秒數)
功能:設定一個時間間隔後(第二個參數),反覆執行“代碼字元運算式”的內容
9. clearInterval方法
文法格式:
window.clearInterval(時間間隔器)
功能:取消setInterval設定的定時。其中的參數是setInterval方法的傳回值。
10. moveBy方法
文法格式:
window.moveBy(水平位移量,垂直位移量)
功能:按照給定像素參數移動指定視窗。第一個參數是視窗水平移動的像素,第
二個參數是視窗垂直移動的像素。
11.moveTo方法
文法格式:
window.moveTo(x,y)
功能:將視窗移動到指定的指定座標(x,y)處。
12. resizeBy方法
文法格式:
window.resizeBy(水平,垂直)
功能:將當前視窗改變指定的大小(x,y),當x、y的值大於0時為擴大,小於0時
為縮小。
13. resizeTo方法
文法格式:
window.resizeTo(水平寬度,垂直寬度)
功能:將當前視窗改變成(x,y)大小,x、y分別為寬度和高度。
14. scrollBy方法
文法格式:
window.scrollBy(水平位移量,垂直位移量)
功能:將視窗中的內容按給定的位移量滾動。參數為正數時,正向滾動,否則反
向滾動。
15. scrollTo方法
文法格式:
window.scrollTo(x,y)
功能:將視窗中的內容滾動到指定位置。
16.find方法
文法格式:
window.find()
功能:當觸發該方法時,將彈出一個“find”(尋找)交談視窗,並允許使用者在觸
發find方法的頁面中尋找一個字串。
註:該屬性在IE5.5及Netscape6.0中都不支援。
17. back方法
文法格式:
window.back()
功能:類比使用者點擊瀏覽器上的[上一頁] 按鈕,將頁面轉到瀏覽器的上一頁。
說明:僅噹噹前頁面存在上一頁時才能進行該操作。
註:IE5.5不支援該方法,Netscape6.0支援。
18. forward方法
文法格式:
window.forward()
功能:類比使用者點擊瀏覽器上的“前進”按鈕,將頁面轉到瀏覽器的下一頁。
說明:僅噹噹前頁面存在下一頁時才能進行該操作。
註:IE5.5不支援該方法,Netscape6.0支援。
19. home方法
文法格式:
window.home()
功能:類比使用者點擊瀏覽器上的“首頁”按鈕,將頁面轉到指定的頁面上。
註:IE5.5不支援該方法,Netscape6.0支援。
20. stop方法
文法格式:
window.stop()
功能:類比使用者點擊瀏覽器上的“停止”按鈕,終止瀏覽器的下載操作。
註:IE5.5不支援該方法,Netscape6.0支援。
21. print方法
文法格式:
window.print()
功能:類比使用者點擊瀏覽器上的“列印”按鈕,通知瀏覽器開啟列印對話方塊列印
當前頁。
22. blur方法
文法格式:
window.blur()
功能:從視窗中移出焦點。當與focus方法合用時必須小心,因為可能導致焦點
不斷移進移出。
23. focus方法
文法格式:
window.focus()
功能:使視窗中得到焦點。當與blur方法合用時必須小心,因為可能導致焦點不
斷移進移出。
24. captureEvent方法
文法格式:
window.captureEvent(Event)
window.captureEvent(事件1|事件2|...|事件n)
功能:捕捉指定參數的所有事件。由於能夠捕獲哪些由本地程式自己處理的事件
,所以程式員可以隨意定義函數來處理事件。如果有多個事件需要捕捉,各事件
之間用管道符“|”隔開。可捕捉的事件類型如下:
Event.ABORT
Event.BLUR
Event.CHANGE
Event.CLICK
Event.DBLCLICK
Event.DRAGDROP
Event.ERROR
Event.FOCUS
Event.KEYDOWN
Event.KEYPRESS
Event.KEYUP
Event.LOAD
Event.MOUSEDOWN
Event.MOUSUEMOVE
Event.MOUSEOUT
Event.MOUSEOVER
Event.MOUSEUP
Event.MOVE
Event.RESET
Event.RESIZE
Event.SELECT
Event.SUBMIT
Event.UNLOAD
25. enableExternalCapture事件
文法格式:
window.enableExternalCapture(event)
功能:enableExternalCapture方法用於捕捉通過參數傳入的外來事件。
26. disableExternalCapture事件
文法格式:
window.disableExternalCapture()
功能:取消enableExternalCapture方法的設定,終止對外來事件的捕捉。
27. handleEvent事件
文法格式:
window.handleEvent(event)
功能:觸發指定事件的事件處理器。
28. releaseEvent事件
文法格式:
window.releaseEvent(event)
window.releaseEvent(事件1|事件2|...|事件n)
功能:釋放通過參數傳入的已被捕捉的事件,這些事件是由
window.captureEvent方法設定的,可釋放的事件與captureEvent相同。
29. routeEvent事件
文法格式:
window.releaseEvent(event)
功能:把被捕捉類型的所有事件轉交給標準事件處理方法進行處理,可轉交的事
件與captureEvent相同。
30 scroll事件
文法格式:
window.scroll(X座標,Y座標)
功能:將視窗移動到指定的座標位置。
6-2-2 window對象的屬性
window對象具有如下屬性:
status
statusbar
statusbar.visible
defaultstatus
location
locationbar
locationbar.visible
self
name
closed
frames
frames.length
length
document
history
innerHeight
innerWidth
menubar
menubar.visible
opener
outerHeight
outerWidth
pageXOffset
pageYOffset
parent
personalbar
personalbar.visible
scrollbar
scrollbar.visible
toolbar
toolbar.visible
top
1. status屬性
文法格式:
window.status=字串
功能:設定或給出瀏覽器視窗中狀態列的當前顯示資訊。
小技巧:可以使用該屬性設定瀏覽器視窗狀態列資訊。
2. statusbar屬性
文法格式:
window.statusbar.屬性
功能:statusbar屬性本身也是一個對象,用於訪問它自已的visible屬性從而確
定狀態列是否可見。
註:IE5.5瀏覽器不支援該屬性。
3. statusbar.visible屬性
文法格式:
window.statusbar.visible
功能:檢查狀態列是否可見,如果可見則返回true,反之返回false。
註:IE5.5瀏覽器不支援該屬性。
4. defaultstatus屬性
文法格式:
window.defaultstatus[=字串]
功能:defaultstatus屬性值是瀏覽器窗中狀態列的預設顯示資訊。
5.location屬性
文法格式:
window.location=URL
功能:給出當前視窗的URL資訊或指定開啟視窗的URL。
6. locationbar屬性
文法格式:
window.locationbar.屬性
功能:locationbar屬性也可以看成是一個子物件,這個屬性用來擷取它自已的
visible屬性來確定位置欄是否可見。
到目前為止,該屬性只有一個子屬性:visible。
註:IE5.5不支援該屬性。
7. locationbar.visible屬性
文法格式:
window.locationbar.visible
功能:返回位置欄是否可見,如果可見返回true,反之返回false。
註:IE5.5不支援該屬性。
8. self屬性
文法格式:
window.self.方法
window.self.屬性
功能:該屬性包含當前視窗的標誌,利用這個屬性,可以保證在多個視窗被開啟
的情況下,正確調用當前視窗內的函數或屬性而不會發生混亂。
9. name屬性
文法格式:
window.name=名稱
功能:返回視窗名稱,這個名稱是由window.open()方法建立新視窗時給定的。
在javascript1.0版本中,這個屬性只能用於讀取視窗名稱,而到了
javascript1.1版本時,可以用這個屬性給一個不是用window.open()方法建立的
視窗指定一個名稱。
10. closed屬性
文法格式:
window.closed
功能:closed屬性用於返回指定視窗的執行個體是否已經關閉,如果關閉,返回true
,反之返回flase。
11. frames屬性
文法格式:
window.frames["架構名稱"]
window.frames[數值]
功能:frames屬性是一個數組,用來儲存文檔中每一個由元素建立的子視窗(框
架)執行個體,其中的下標即可以是序號也可以是用FRAME元素的NAME屬性指定的名
稱來得到並使用。
12. frames.length屬性
文法格式:
window.frames.length
功能:frames.length屬性用於給出文檔中子視窗(架構)執行個體的個數。
13. length屬性
文法格式:
window.length
功能:length屬性返回一個視窗內的子視窗數目,該屬性與
window.frame.length屬性的值相同。
14. document屬性
文法格式:
window.document.事件
window.document.方法
window.document.屬性
功能:window對象的子物件document是javascript的核心對象,在指令碼中遇到
BODY元素時建立一個執行個體。
15. history屬性
文法格式:
window.history[數值]
window.history.方法()
window.history.屬性
window對象的子物件history是javascript的核心對象之一,該屬性包含了一個
已訪問過頁面的名稱和URL的數組。
16. innerHeight屬性
文法格式:
window.innerHeight=數值
功能:返回或指定瀏覽器視窗中文檔的像素高度,這個高度不包括任何工具列和
組成視窗的頁面修飾高度。
註:IE5.5不支援該屬性。
17. innerWidth屬性
文法格式:
window.innerHeight=數值
功能:返回或指定瀏覽器視窗中文檔的像素寬度,這個寬度不包括任何工具列和
組成視窗的頁面修飾寬度。
註:IE5.5不支援該屬性。
18. menubar屬性
文法格式:
window.menubar.屬性
功能:menubar屬性也可以看成是一個子物件,這個屬性用來擷取它自已的
visible屬性來確定功能表列是否可見。
到目前為止,該屬性只有一個子屬性:visible。
註:IE5.5不支援該屬性。
19. menubar.visible屬性
文法格式:
window.menubar.visible
功能:menubar.visible屬性用於返回功能表列是否可見,如果可見返回true,反
之返回false。
註:IE5.5不支援該屬性。
20. opener屬性
文法格式:
window.opener
window.opener.方法
window.opener.屬性
功能:opener屬性與開啟該視窗的父視窗相聯絡,當訪問子視窗中operer屬性時
,返回的是父視窗。通過該屬性,可以使用父視窗對象中的方法和屬性。
21. outerHeight屬性
文法格式:
window.outerHeight
功能:outerHeight屬性用於訪問瀏覽器視窗的像素高度,該高度包括工具列和
裝飾邊的高度。
註:IE5.5不支援該屬性。
22. outerWidth屬性
文法格式:
window.outerWidth
功能:outerWidth屬性用於訪問瀏覽器視窗的像素寬度,該寬度包括工具列和裝
飾邊的寬度。
註:IE5.5不支援該屬性。
23. pageXOffset屬性
文法格式:
window.pageXOffset=數值
功能:指定瀏覽器視窗中文檔左上方在視窗中的當前水平像素位置。在利用
moveTo移動之前,可以通過該屬性來決定是否需要移動視窗。因為該屬性返回了
可見文檔相對整個頁面的當前位置。
註:IE5.5不支援該屬性。
24. pageYOffset屬性
文法格式:
window.pageYOffset=數值
功能:指定瀏覽器視窗中文檔左上方在視窗中的當前垂直像素位置。在利用
moveTo移動之前,可以通過該屬性來決定是否需要移動視窗。因為該屬性返回了
可見文檔相對整個頁面的當前位置。
註:IE5.5不支援該屬性。
25. parent屬性
文法格式:
window.parent.frames[數值]
window.parent.framesName
功能:訪問各個子視窗(多架構)所在的父視窗。
26. personalbar屬性
文法格式:
window.personalbar.屬性
功能:personalbar屬性本身也是一個對象,用於訪問其自身的visible屬性來確
定個人欄是否可見。
註:IE5.5不支援該屬性。
27. personalbar.visible屬性
文法格式:
window.personalbar.visible
功能:確定個人欄是否可見,如果可見則返回true,反之返回false。
註:IE5.5不支援該屬性。
28. scrollbars屬性
文法格式:
window.scrollbars.屬性
功能:scrollbars屬性本身也是一個對象,用於訪問其自身的visible屬性來確
定滾動欄是否可見。
註:IE5.5不支援該屬性。
29. scrollbars.visible屬性
文法格式:
window.scrollbars.visible
功能:scrollbars.visible用於確定滾動欄是否可見,如果可見則返回true,反
之返回false。
註:IE5.5不支援該屬性。
30. toolbar屬性
文法格式:
window.toolbar.屬性
功能:toolbar屬性本身也是一個對象,用於訪問它自已的visible屬性從而確定
工具列是否可見。
註:IE5.5不支援該屬性。
31. toolbar.visible屬性
文法格式:
window.toolbar.visible
功能:toolbar.visible屬性用於檢查工具列是否可見,如果可見則返回true,
反之返回false。
註:IE5.5不支援該屬性。
32. top屬性
文法格式:
window.top.frames[數值]
window.top.frameName
window.top.方法()
window.top.屬性
功能:window對象的top屬性用於包含所有裝入瀏覽器的子視窗(多架構)的最頂
層視窗的資訊。