模式視窗 window.showmodaldialog 總結
就是要在一個影象外掛上面,需要彈出一個視窗,在彈出的視窗之上又的彈出一個模式視窗。然後我用到了window.showmodaldialog 方法
1.引數
showModalDialog("子頁面地址","向子頁面傳遞引數","子頁面外觀設定"),比如說
var data = new Date().getTime();
var timeValue = window.showModalDialog('../MB/alertTime.jsp?'+data,window,'dialogWidth=250px;dialogHeight=168px;status=no');
因為這種彈窗方法很容易造成快取問題,所以我會在“子頁面地址”後面接一個引數,這個引數通常是時間,可以有效緩解快取問題
我這裡傳的第二個引數是window ,這個表示的是將父頁面這個物件傳給了子頁面,當然,你也可以傳其他的具體某個物件,某個字串,如果傳的是window的話,可以把父頁面的方法什麼的都可以傳過去。你在子頁面只需要接收一下這個物件,然後取出來呼叫就好了。接收用 Window=window.dialogArguments; 然後用Window.方法名 Window.欄位名 呼叫方法或者是獲得欄位值,第二個引數也可以傳為空
第三個引數
1.dialogHeight :對話方塊高度,不小於100px,IE4中dialogHeight 和 dialogWidth 預設的單位是em,而IE5中是px,為方便其見,在定義modal方式的對話方塊時,用px做單位。
2.dialogWidth: 對話方塊寬度。
3.dialogLeft: 離螢幕左的距離。
4.dialogTop: 離螢幕上的距離。
5.center: {yes|no|1|0}:視窗是否居中,預設yes,但仍可以指定高度和寬度。
6.help: {yes|no|1|0}:是否顯示幫助按鈕,預設yes。
7.resizable: {yes|no|1|0} [IE5+]:是否可被改變大小。預設no。
8.status: {yes|no|1|0} [IE5+]:是否顯示狀態列。預設為yes[ Modeless]或no[Modal]。
9.scroll:{ yes|no|1|0|on|off}:指明對話方塊是否顯示滾動條。預設為yes。
下面幾個屬性是用在HTA中的,在一般的網頁中一般不使用。
10.dialogHide:{ yes|no|1|0|on|off}:在列印或者列印預覽時對話方塊是否隱藏。預設為no。
11.edge:{ sunken|raised}:指明對話方塊的邊框樣式。預設為raised。
12.unadorned:{ yes|no|1|0|on|off}:預設為no。
我上面傳的就是一個高度,以及是否顯示狀態列。這個引數也是可選的。
細心的朋友可能以及發現,這個方法還是有返回值的。我這裡用的是 timeValue 來接收。這個返回值可以通過在子頁面中 window.returnValue 傳遞 比如說 window.returnValue = "1"; 那麼當你關閉子頁面的時候, timeValue 這個值就會賦值為 “1”。同時,你用close() 關閉的時候也會把這個值給傳遞出去。這樣,子頁面和父頁面就可以互相傳遞通訊了
---------------------
原文:https://blog.csdn.net/u010033129/article/details/72627009