1. 程式人生 > >模式視窗 window.showmodaldialog 總結

模式視窗 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