熟練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對象是客戶(hù)端javascript最高層對象之一,只要打開(kāi)瀏覽器窗口,不管該窗口中是否有打開(kāi)的網(wǎng)頁(yè),當遇到BODY、FRAMESET或FRAME元素時(shí),都會(huì )自動(dòng)建立window對象的實(shí)例。另外,該對象的實(shí)例也可由window.open()方法創(chuàng )建。由于window對象是其它大部分對象的共同祖先,在調用window對象的方法和屬性時(shí),可以省略window對象的引用。例如:window.document.write()可以簡(jiǎn)寫(xiě)成: document.write()?!?nbsp;在窗口中觖發(fā)本窗口對象的任何方法和屬性時(shí)可以省去窗口的實(shí)例名稱(chēng)。例如給當前的myWin窗口設置status屬性時(shí),可以只用status而不用myWin.status。但是,在事件處理中調用location屬性、close()方法或open()方法時(shí)必須使用實(shí)例名稱(chēng)。
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方法
語(yǔ)法格式:
window.open(URL,窗口名稱(chēng),窗口風(fēng)格)
功能:打開(kāi)一個(gè)新的窗口,并在窗口中裝載指定URL地址的網(wǎng)頁(yè)。
說(shuō)明:
open方法用于打開(kāi)一個(gè)新的瀏覽器窗口,并在新窗口中裝入一個(gè)指定的URL地址
;
open方法在打開(kāi)一個(gè)新的瀏覽器窗口時(shí),還可以指定窗口的名稱(chēng)(第二個(gè)參數);
open方法在打開(kāi)一個(gè)新的瀏覽器窗口時(shí),還可以指定窗口的風(fēng)格(第三個(gè)參數),
窗口風(fēng)格有以下選項,這些選項可以多選,如果多選,各選項之間用逗號分隔:
toolbar:指定窗口是否有標準工具欄。當該選項的值為1或yes時(shí),表示有標準
工具欄,當該選項的值為0或no時(shí),表示沒(méi)有標準工具欄;
location:指定窗口是否有地址工具欄,選項的值及含義與toolbar相同;
directories:指定窗口是否有鏈接工具欄,選項的值及含義與toolbar相同;
status:指定窗口是否有狀態(tài)欄,選項的值及含義與toolbar相同;
menubar:指定窗口是否有菜單,選項的值及含義與toolbar相同;
scrollbar:指定當前窗口文檔大于窗口時(shí)是否有滾動(dòng)條,選項的值及含義與
toolbar相同;
resizable:指定窗口是否可改變大小,選項的值及含義與toolbar相同;
width:以像素為單位指定窗口的寬度,已被innerWidth取代;
height:以像素為單位指定窗口的高度,已被innerHeight取代;
outerWidth:以像素為單位指定窗口的外部寬度;
outerHeight:以像素為單位指定窗口的外部高度;
left:以像素為單位指定窗口距屏幕左邊的位置;
top:以像素為單位指定窗口距屏幕頂端的位置;
alwaysLowered:指定窗口隱藏在所有窗口之后,選項的值及含義與toolbar相同
;
alwaysRaised:指定窗口浮在所有窗口之上,選項的值及含義與toolbar相同;
dependent:指定打開(kāi)的窗口為當前窗口的一個(gè)子窗口,并隨著(zhù)父窗口的關(guān)閉而
關(guān)閉,選項的值及含義與toolbar相同;
hotkeys:在沒(méi)有菜單欄的新窗口中設置安全退出的熱鍵,選項的值及含義與
toolbar相同;
innerHeight:設定窗口中文檔的像素高度;
innerWidth:設定窗口中文檔的像素寬度;
screenX:設定窗口距離屏幕左邊界的像素長(cháng)度;
screenY:設定窗口距離屏幕上邊界的像素長(cháng)度;
titleBar:指明標題欄是否在新窗口中可見(jiàn),選項的值及含義與toolbar相同;
z-look:指明當窗口被激活時(shí),不能浮在其它窗口之上,選項的值及含義與
toolbar相同。
open方法返回的是該窗口的引用。
小技巧:該方法經(jīng)常用于在打開(kāi)一個(gè)網(wǎng)頁(yè)時(shí)自動(dòng)打開(kāi)另一個(gè)窗口。
例6-2-1:編制一個(gè)小程序,它用于在打開(kāi)當前窗口時(shí)自動(dòng)打開(kāi)另一個(gè)窗口,要
求該窗沒(méi)有標準工具欄、地址欄、鏈接工具欄、菜單欄,但有狀態(tài)欄,窗口中打
開(kāi)的網(wǎng)頁(yè)地址為:
http://www.dlrtvu.edu.cn。
2. close方法
語(yǔ)法格式:
window.close()
功能:close方法用于自動(dòng)關(guān)閉瀏覽器窗口。
3. alert方法
語(yǔ)法格式:
window.alert(提示字符串)
功能:彈出一個(gè)警告框,在警告框內顯示提示字符串文本。
4. confirm方法
語(yǔ)法格式:
window.confirm(提示字符串)
功能:顯示一個(gè)確認框,在確認框內顯示提示字符串,當用戶(hù)單擊“確定”按鈕
時(shí)該方法返回true,單擊“取消”時(shí)返回false。
5. prompt方法
語(yǔ)法格式:
window.prompt(提示字符串,缺省文本)
功能:顯示一個(gè)輸入框,在輸入框內顯示提示字符串,在輸入文本框顯示缺省文
本,并等待用戶(hù)輸入,當用戶(hù)單擊“確定”按鈕時(shí),返回用戶(hù)輸入的字符串,當
單擊“取消”按鈕時(shí),返回null值。
6. setTimeout方法
語(yǔ)法格式:
window.setTimeout(代碼字符表達式,毫秒數)
功能:定時(shí)設置,當到了指定的毫秒數后,自動(dòng)執行代碼字符表達式。
7. clearTimeout方法
語(yǔ)法格式:
window.clearTimeout(定時(shí)器)
功能:取消以前的定時(shí)設置,其中的參數是用setTimeout設置時(shí)的返回值。
8. setInterval方法
語(yǔ)法格式:
window.setInterval(代碼字符表達式,毫秒數)
功能:設定一個(gè)時(shí)間間隔后(第二個(gè)參數),反復執行“代碼字符表達式”的內容
9. clearInterval方法
語(yǔ)法格式:
window.clearInterval(時(shí)間間隔器)
功能:取消setInterval設置的定時(shí)。其中的參數是setInterval方法的返回值。
10. moveBy方法
語(yǔ)法格式:
window.moveBy(水平位移量,垂直位移量)
功能:按照給定像素參數移動(dòng)指定窗口。第一個(gè)參數是窗口水平移動(dòng)的像素,第
二個(gè)參數是窗口垂直移動(dòng)的像素。
11.moveTo方法
語(yǔ)法格式:
window.moveTo(x,y)
功能:將窗口移動(dòng)到指定的指定坐標(x,y)處。
12. resizeBy方法
語(yǔ)法格式:
window.resizeBy(水平,垂直)
功能:將當前窗口改變指定的大小(x,y),當x、y的值大于0時(shí)為擴大,小于0時(shí)
為縮小。
13. resizeTo方法
語(yǔ)法格式:
window.resizeTo(水平寬度,垂直寬度)
功能:將當前窗口改變成(x,y)大小,x、y分別為寬度和高度。
14. scrollBy方法
語(yǔ)法格式:
window.scrollBy(水平位移量,垂直位移量)
功能:將窗口中的內容按給定的位移量滾動(dòng)。參數為正數時(shí),正向滾動(dòng),否則反
向滾動(dòng)。
15. scrollTo方法
語(yǔ)法格式:
window.scrollTo(x,y)
功能:將窗口中的內容滾動(dòng)到指定位置。
16.find方法
語(yǔ)法格式:
window.find()
功能:當觸發(fā)該方法時(shí),將彈出一個(gè)“find”(查找)對話(huà)窗口,并允許用戶(hù)在觸
發(fā)find方法的頁(yè)面中查找一個(gè)字符串。
注:該屬性在IE5.5及Netscape6.0中都不支持。
17. back方法
語(yǔ)法格式:
window.back()
功能:模擬用戶(hù)點(diǎn)擊瀏覽器上的“后退”按鈕,將頁(yè)面轉到瀏覽器的上一頁(yè)。
說(shuō)明:僅當當前頁(yè)面存在上一頁(yè)時(shí)才能進(jìn)行該操作。
注:IE5.5不支持該方法,Netscape6.0支持。
18. forward方法
語(yǔ)法格式:
window.forward()
功能:模擬用戶(hù)點(diǎn)擊瀏覽器上的“前進(jìn)”按鈕,將頁(yè)面轉到瀏覽器的下一頁(yè)。
說(shuō)明:僅當當前頁(yè)面存在下一頁(yè)時(shí)才能進(jìn)行該操作。
注:IE5.5不支持該方法,Netscape6.0支持。
19. home方法
語(yǔ)法格式:
window.home()
功能:模擬用戶(hù)點(diǎn)擊瀏覽器上的“主頁(yè)”按鈕,將頁(yè)面轉到指定的頁(yè)面上。
注:IE5.5不支持該方法,Netscape6.0支持。
20. stop方法
語(yǔ)法格式:
window.stop()
功能:模擬用戶(hù)點(diǎn)擊瀏覽器上的“停止”按鈕,終止瀏覽器的下載操作。
注:IE5.5不支持該方法,Netscape6.0支持。
21. print方法
語(yǔ)法格式:
window.print()
功能:模擬用戶(hù)點(diǎn)擊瀏覽器上的“打印”按鈕,通知瀏覽器打開(kāi)打印對話(huà)框打印
當前頁(yè)。
22. blur方法
語(yǔ)法格式:
window.blur()
功能:從窗口中移出焦點(diǎn)。當與focus方法合用時(shí)必須小心,因為可能導致焦點(diǎn)
不斷移進(jìn)移出。
23. focus方法
語(yǔ)法格式:
window.focus()
功能:使窗口中得到焦點(diǎn)。當與blur方法合用時(shí)必須小心,因為可能導致焦點(diǎn)不
斷移進(jìn)移出。
24. captureEvent方法
語(yǔ)法格式:
window.captureEvent(Event)
window.captureEvent(事件1|事件2|...|事件n)
功能:捕捉指定參數的所有事件。由于能夠捕獲哪些由本地程序自己處理的事件
,所以程序員可以隨意定義函數來(lái)處理事件。如果有多個(gè)事件需要捕捉,各事件
之間用管道符“|”隔開(kāi)??刹蹲降氖录?lèi)型如下:
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事件
語(yǔ)法格式:
window.enableExternalCapture(event)
功能:enableExternalCapture方法用于捕捉通過(guò)參數傳入的外部事件。
26. disableExternalCapture事件
語(yǔ)法格式:
window.disableExternalCapture()
功能:取消enableExternalCapture方法的設置,終止對外部事件的捕捉。
27. handleEvent事件
語(yǔ)法格式:
window.handleEvent(event)
功能:觸發(fā)指定事件的事件處理器。
28. releaseEvent事件
語(yǔ)法格式:
window.releaseEvent(event)
window.releaseEvent(事件1|事件2|...|事件n)
功能:釋放通過(guò)參數傳入的已被捕捉的事件,這些事件是由
window.captureEvent方法設置的,可釋放的事件與captureEvent相同。
29. routeEvent事件
語(yǔ)法格式:
window.releaseEvent(event)
功能:把被捕捉類(lèi)型的所有事件轉交給標準事件處理方法進(jìn)行處理,可轉交的事
件與captureEvent相同。
30 scroll事件
語(yǔ)法格式:
window.scroll(X坐標,Y坐標)
功能:將窗口移動(dòng)到指定的坐標位置。
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屬性
語(yǔ)法格式:
window.status=字符串
功能:設置或給出瀏覽器窗口中狀態(tài)欄的當前顯示信息。
小技巧:可以使用該屬性設置瀏覽器窗口狀態(tài)欄信息。
2. statusbar屬性
語(yǔ)法格式:
window.statusbar.屬性
功能:statusbar屬性本身也是一個(gè)對象,用于訪(fǎng)問(wèn)它自已的visible屬性從而確
定狀態(tài)欄是否可見(jiàn)。
注:IE5.5瀏覽器不支持該屬性。
3. statusbar.visible屬性
語(yǔ)法格式:
window.statusbar.visible
功能:檢查狀態(tài)欄是否可見(jiàn),如果可見(jiàn)則返回true,反之返回false。
注:IE5.5瀏覽器不支持該屬性。
4. defaultstatus屬性
語(yǔ)法格式:
window.defaultstatus[=字符串]
功能:defaultstatus屬性值是瀏覽器窗中狀態(tài)欄的默認顯示信息。
5.location屬性
語(yǔ)法格式:
window.location=URL
功能:給出當前窗口的URL信息或指定打開(kāi)窗口的URL。
6. locationbar屬性
語(yǔ)法格式:
window.locationbar.屬性
功能:locationbar屬性也可以看成是一個(gè)子對象,這個(gè)屬性用來(lái)獲取它自已的
visible屬性來(lái)確定位置欄是否可見(jiàn)。
到目前為止,該屬性只有一個(gè)子屬性:visible。
注:IE5.5不支持該屬性。
7. locationbar.visible屬性
語(yǔ)法格式:
window.locationbar.visible
功能:返回位置欄是否可見(jiàn),如果可見(jiàn)返回true,反之返回false。
注:IE5.5不支持該屬性。
8. self屬性
語(yǔ)法格式:
window.self.方法
window.self.屬性
功能:該屬性包含當前窗口的標志,利用這個(gè)屬性,可以保證在多個(gè)窗口被打開(kāi)
的情況下,正確調用當前窗口內的函數或屬性而不會(huì )發(fā)生混亂。
9. name屬性
語(yǔ)法格式:
window.name=名稱(chēng)
功能:返回窗口名稱(chēng),這個(gè)名稱(chēng)是由window.open()方法創(chuàng )建新窗口時(shí)給定的。
在javascript1.0版本中,這個(gè)屬性只能用于讀取窗口名稱(chēng),而到了
javascript1.1版本時(shí),可以用這個(gè)屬性給一個(gè)不是用window.open()方法創(chuàng )建的
窗口指定一個(gè)名稱(chēng)。
10. closed屬性
語(yǔ)法格式:
window.closed
功能:closed屬性用于返回指定窗口的實(shí)例是否已經(jīng)關(guān)閉,如果關(guān)閉,返回true
,反之返回flase。
11. frames屬性
語(yǔ)法格式:
window.frames["框架名稱(chēng)"]
window.frames[數值]
功能:frames屬性是一個(gè)數組,用來(lái)存儲文檔中每一個(gè)由元素創(chuàng )建的子窗口(框
架)實(shí)例,其中的下標即可以是次序號也可以是用FRAME元素的NAME屬性指定的名
稱(chēng)來(lái)得到并使用。
12. frames.length屬性
語(yǔ)法格式:
window.frames.length
功能:frames.length屬性用于給出文檔中子窗口(框架)實(shí)例的個(gè)數。
13. length屬性
語(yǔ)法格式:
window.length
功能:length屬性返回一個(gè)窗口內的子窗口數目,該屬性與
window.frame.length屬性的值相同。
14. document屬性
語(yǔ)法格式:
window.document.事件
window.document.方法
window.document.屬性
功能:window對象的子對象document是javascript的核心對象,在腳本中遇到
BODY元素時(shí)創(chuàng )建一個(gè)實(shí)例。
15. history屬性
語(yǔ)法格式:
window.history[數值]
window.history.方法()
window.history.屬性
window對象的子對象history是javascript的核心對象之一,該屬性包含了一個(gè)
已訪(fǎng)問(wèn)過(guò)頁(yè)面的名稱(chēng)和URL的數組。
16. innerHeight屬性
語(yǔ)法格式:
window.innerHeight=數值
功能:返回或指定瀏覽器窗口中文檔的像素高度,這個(gè)高度不包括任何工具欄和
組成窗口的頁(yè)面修飾高度。
注:IE5.5不支持該屬性。
17. innerWidth屬性
語(yǔ)法格式:
window.innerHeight=數值
功能:返回或指定瀏覽器窗口中文檔的像素寬度,這個(gè)寬度不包括任何工具欄和
組成窗口的頁(yè)面修飾寬度。
注:IE5.5不支持該屬性。
18. menubar屬性
語(yǔ)法格式:
window.menubar.屬性
功能:menubar屬性也可以看成是一個(gè)子對象,這個(gè)屬性用來(lái)獲取它自已的
visible屬性來(lái)確定菜單欄是否可見(jiàn)。
到目前為止,該屬性只有一個(gè)子屬性:visible。
注:IE5.5不支持該屬性。
19. menubar.visible屬性
語(yǔ)法格式:
window.menubar.visible
功能:menubar.visible屬性用于返回菜單欄是否可見(jiàn),如果可見(jiàn)返回true,反
之返回false。
注:IE5.5不支持該屬性。
20. opener屬性
語(yǔ)法格式:
window.opener
window.opener.方法
window.opener.屬性
功能:opener屬性與打開(kāi)該窗口的父窗口相聯(lián)系,當訪(fǎng)問(wèn)子窗口中operer屬性時(shí)
,返回的是父窗口。通過(guò)該屬性,可以使用父窗口對象中的方法和屬性。
21. outerHeight屬性
語(yǔ)法格式:
window.outerHeight
功能:outerHeight屬性用于訪(fǎng)問(wèn)瀏覽器窗口的像素高度,該高度包括工具欄和
裝飾邊的高度。
注:IE5.5不支持該屬性。
22. outerWidth屬性
語(yǔ)法格式:
window.outerWidth
功能:outerWidth屬性用于訪(fǎng)問(wèn)瀏覽器窗口的像素寬度,該寬度包括工具欄和裝
飾邊的寬度。
注:IE5.5不支持該屬性。
23. pageXOffset屬性
語(yǔ)法格式:
window.pageXOffset=數值
功能:指定瀏覽器窗口中文檔左上角在窗口中的當前水平像素位置。在利用
moveTo移動(dòng)之前,可以通過(guò)該屬性來(lái)決定是否需要移動(dòng)窗口。因為該屬性返回了
可見(jiàn)文檔相對整個(gè)頁(yè)面的當前位置。
注:IE5.5不支持該屬性。
24. pageYOffset屬性
語(yǔ)法格式:
window.pageYOffset=數值
功能:指定瀏覽器窗口中文檔左上角在窗口中的當前垂直像素位置。在利用
moveTo移動(dòng)之前,可以通過(guò)該屬性來(lái)決定是否需要移動(dòng)窗口。因為該屬性返回了
可見(jiàn)文檔相對整個(gè)頁(yè)面的當前位置。
注:IE5.5不支持該屬性。
25. parent屬性
語(yǔ)法格式:
window.parent.frames[數值]
window.parent.framesName
功能:訪(fǎng)問(wèn)各個(gè)子窗口(多框架)所在的父窗口。
26. personalbar屬性
語(yǔ)法格式:
window.personalbar.屬性
功能:personalbar屬性本身也是一個(gè)對象,用于訪(fǎng)問(wèn)其自身的visible屬性來(lái)確
定個(gè)人欄是否可見(jiàn)。
注:IE5.5不支持該屬性。
27. personalbar.visible屬性
語(yǔ)法格式:
window.personalbar.visible
功能:確定個(gè)人欄是否可見(jiàn),如果可見(jiàn)則返回true,反之返回false。
注:IE5.5不支持該屬性。
28. scrollbars屬性
語(yǔ)法格式:
window.scrollbars.屬性
功能:scrollbars屬性本身也是一個(gè)對象,用于訪(fǎng)問(wèn)其自身的visible屬性來(lái)確
定滾動(dòng)欄是否可見(jiàn)。
注:IE5.5不支持該屬性。
29. scrollbars.visible屬性
語(yǔ)法格式:
window.scrollbars.visible
功能:scrollbars.visible用于確定滾動(dòng)欄是否可見(jiàn),如果可見(jiàn)則返回true,反
之返回false。
注:IE5.5不支持該屬性。
30. toolbar屬性
語(yǔ)法格式:
window.toolbar.屬性
功能:toolbar屬性本身也是一個(gè)對象,用于訪(fǎng)問(wèn)它自已的visible屬性從而確定
工具欄是否可見(jiàn)。
注:IE5.5不支持該屬性。
31. toolbar.visible屬性
語(yǔ)法格式:
window.toolbar.visible
功能:toolbar.visible屬性用于檢查工具欄是否可見(jiàn),如果可見(jiàn)則返回true,
反之返回false。
注:IE5.5不支持該屬性。
32. top屬性
語(yǔ)法格式:
window.top.frames[數值]
window.top.frameName
window.top.方法()
window.top.屬性
功能:window對象的top屬性用于包含所有裝入瀏覽器的子窗口(多框架)的最頂
層窗口的信息。