子窗口返回參數並刷新父窗口的問題

         我在學習代碼中,看到一個奇怪的句子: opener.window.document.frmInfo.inputBigImage.value    之所以覺得奇怪,是因爲以前沒見過,呵呵~~

        看不太懂,frmInfo 這個是我的form 表單名稱,document 這個是本文檔,這些都清楚,但是一般情況下document.frmInfo.inputBigImage.value    這樣就確定位置了啊,爲什麼會有  opener.window. ? 這樣到底指向哪裏了呢?

以下是前提:

        我的程序是在A頁面上有個上傳圖片按鈕,點擊後彈出B頁面,他們的關係相當於父子窗口:

<tr>
   
<td align="right" valign="middle" nowrap>
        欄目圖片(大)
    
</td>
    
<td colspan="7" align="left" valign="middle" nowrap>
         
<input type="text" name="inputBigImage" size="60" maxLength="120" des="欄目圖片(大)" desType="COMMONSTR" isNeed="0" value="<%=myBigImage%>" readonly>
         
<input name="uploadBig" type="button" class="bt_bg02" value="上 傳" onClick="return uploadFile('opener.window.document.frmInfo.inputBigImage.value');">
          
<input name="cleanBigImage" type="button" class="bt_bg02" value="清 除" onClick="document.frmInfo.inputBigImage.value='';">
      
</td>
</tr>


以下是相關的 js :

//上傳文件
function uploadFile(saveTarget)
{
    var url = "upload_category_ico.jsp?saveTarget=" + saveTarget;
    window.open(url, 'upload', 'width=460, height=320, toolbar=no, menubar=no, scrollbars=no, resizable=no, status=no');
    return true;
}

window對象的opener屬性怎麼用?   1:頁面的值傳遞     ; 2 :關閉窗口後刷新上一級頁面

       窗口對象的屬性window.opener自動保存着創建該窗口的父窗口的對象引用。因此,我們可以利用彈出窗口來收集數據,可以把子窗口中的數據通過獲得父窗口對象的引用的方法回送給父窗口,並且刷新父窗口~      但是有一點,我還不確認,就是彈開新窗口是不是在這裏只能用window.open ?

以下是收集來的一些關於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屬性用於包含所有裝入瀏覽器的子窗口(多框架)的最頂

層窗口的信息。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章