showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog()方法用來創(chuàng)建一個顯示HTML內(nèi)容的模態(tài)對話框。 window.showModelessDialog()方法用來創(chuàng)建一個顯示HTML內(nèi)容的非模態(tài)對話框。 |
2、使用方法
vReturnValue=window.showModalDialog(sURL[,vArguments][,sFeatures]); vReturnValue=window.showModelessDialog(sURL[,vArguments][,sFeatures]); |
3、參數(shù)說明
參數(shù)名稱 | 性質(zhì) | 類型 | 作用 |
sURL | 必選 | 字符串 | 用來指定對話框要顯示的網(wǎng)頁的URL。 |
vArguments | 可選 | 變體 | 用來向?qū)υ捒騻鬟f參數(shù)。參數(shù)類型不限。 對話框通過window.dialogArguments來取得傳遞進來的參數(shù)。 |
sFeatures | 可選 | 字符串 | 用來描述對話框的外觀等信息 |
4、sFeatures參數(shù)說明
參數(shù)名稱 | 參數(shù)屬性 | 說明 |
dialogHeight | npx | 對話框高度,不小于100px |
dialogWidth | npx | 對話框?qū)挾?/td> |
dialogLeft | npx | 離主窗口左的距離 |
dialogTop | npx | 離主窗口上的距離 |
center | {yes | no | 1 | 0 } | 窗口是否居中,默認yes |
help | {yes | no | 1 | 0 } | 是否顯示幫助按鈕,默認yes |
resizable | {yes | no | 1 | 0 } | 是否可改變大小,默認no |
status | {yes | no | 1 | 0 } | 是否顯示狀態(tài)欄,默認為yes[ Modeless]或no[Modal] |
dialogHide | { yes | no | 1 | 0 | on | off } | 在打印或者打印預覽時對話框是否隱藏,默認為no |
scroll | { yes | no | 1 | 0 | on | off } | 指明對話框是否顯示滾動條,默認為yes |
edge | { sunken | raised } | 指明對話框的邊框樣式,默認為raised |
unadorned | { yes | no | 1 | 0 | on | off } | 默認為no |
注意:dialogHide,edge,unadorned這三個屬性是用在HTA(HTML Aplication)中的,一般網(wǎng)頁上用不到。 |
5、參數(shù)傳遞 通過vArguments來傳遞參數(shù),類型不限制,對于字符串類型,最大為4096個字符,也可以傳遞對象,例如:
parent.htm <script> window.showModalDialog("sun.htm","傳遞進去的參數(shù)","help:no;scroll:no"); </script> sun.htm <script> alert("傳來的參數(shù):" + window.dialogArguments); </script> |
6、返回值 通過window.returnValue向打開對話框的窗口返回信息,也可以是對象。例如:
parent.htm <script> result=window.showModalDialog("son.htm","","help:no;scroll:no"); alert(result); </script> son.htm <script> window.returnValue="這里存放返回的結果"; </script> |
7、防止在模態(tài)窗口中提交后新開一窗口
在頁面的 <body>前加入<base target="_self">
8、調(diào)用父窗口的方法同時傳遞參數(shù)
parent.htm <script> function show(){//父窗口的方法 alert("show"); } var arg=new Object();//傳遞進去的參數(shù) arg.win=window;//把當前窗口的引用當參數(shù)傳進去 arg.str="argument";//要傳進去的其他參數(shù) window.showModalDialog("son.htm",arg,'help:no'); </script> son.htm <script> var arg=window.dialogArguments; alert(arg.str); arg.win.show();//調(diào)用父窗口的方法 </script> |