window.showmodaldialog()方法用來建立乙個顯示html內容的模態對話方塊,由於是對話方塊,因此它並沒有一般用window.open()開啟的視窗的所有屬性。
window.showmodelessdialog()方法用來建立乙個顯示html內容的非模態對話方塊。
當我們用showmodelessdialog()開啟視窗時,不必用window.close()去關閉它,當以非模態方式[ie5]開啟時, 開啟對話方塊的視窗仍可以進行其他的操作,即對話方塊不總是最上面的焦點,當開啟它的視窗url改變時,它自動關閉。而模態[ie4]方式的對話方塊始終有焦點(焦點不可移走,直到它關閉)。模態對話方塊和開啟它的視窗相聯絡,因此我們開啟另外的視窗時,他們的鏈結關係依然儲存,並且隱藏在活動視窗的下面。
使用方法如下:
vreturnvalue = window.showmodaldialog(surl [, varguments] [, sfeatures])
vreturnvalue = window.showmodelessdialog(surl [, varguments] [, sfeatures])
引數說明:
surl
必選引數,型別:字串。用來指定對話方塊要顯示的文件的url。
varguments
可選引數,型別:變體。用來向對話方塊傳遞引數。傳遞的引數型別不限,包括陣列等。對話方塊通過window.dialogarguments來取得傳遞進來的引數。
sfeatures
可選引數,型別:字串。用來描述對話方塊的外觀等資訊,可以使用以下的乙個或幾個,用分號「;」隔開。
dialogheight 對話方塊高度,不小於100px,ie4中dialogheight 和 dialogwidth 預設的單位是em,而ie5中是px,為方便其見,在定義modal方式的對話方塊時,用px做單位。
dialogwidth: 對話方塊寬度。
dialogleft: 距離桌面左的距離。
dialogtop: 離桌面上的距離。
center: :視窗是否居中,預設yes,但仍可以指定高度和寬度。
help: :是否顯示幫助按鈕,預設yes。
resizable: [ie5+]:是否可被改變大小。預設no。
status: [ie5+]:是否顯示狀態列。預設為yes[ modeless]或no[modal]。
scroll::指明對話方塊是否顯示滾動條。預設為yes。
還有幾個屬性是用在hta中的,在一般的網頁中一般不使用。
dialoghide::在列印或者列印預覽時對話方塊是否隱藏。預設為no。
edge::指明對話方塊的邊框樣式。預設為raised。
unadorned::預設為no。
傳入引數:
要想對話方塊傳遞引數,是通過varguments來進行傳遞的。型別不限制,對於字串型別,最大為4096個字元。也可以傳遞物件,例如:
test.htm
********************
test2.htm
********************
test3.htm
********************
可以通過window.returnvalue向開啟對話方塊的視窗返回資訊,當然也可以是物件。例如:
test4.htm
***************====
test5.htm
***************====
常見問題:
,如何在模態對話方塊中進行提交而不新開視窗?
如果你 的 瀏覽器是ie5.5+,可以在對話方塊中使用帶name屬性的iframe,提交時可以制定target為該iframe的name。對於ie4+,你可以用高度為0的frame來作:例子,
test6.htm
***************====
test7.htm
***************====
if(window.location.search) alert(window.location.search)
test8.htm
***************====
2,可以通過http://servername/virtualdirname/test.htm?name=mxh方式直接向對話方塊傳遞引數嗎?
答案是不能。但在frame裡是可以的。
Javascript提示視窗並實現模式視窗功能
b 提示視窗的介面 b img img overlay floatdiv floatdiv divtitle floatdiv divcontent floatdiv divfoot floatdiv input.divbutton show 提示視窗 以前自已也有乙個部落格,寫了300多篇,後面工...
Javascript獲取各種瀏覽器可見視窗大小
網頁可見區域寬 document.body.clientwidth 網頁可見區域高 document.body.clientheight 網頁可見區域寬 document.body.offsetwidth 包括邊線和滾動條的寬 網頁可見區域高 document.body.offsetheight 包...
如何用windows API函式開啟指定視窗
private declare function shellexecute lib shell32.dll alias shellexecutea byval hwnd as long,byval lpoperation as string,byval lpfile as string,byval ...