jsÖÐshowModalDialogºÍshowModelessDialogµÄʹÓÃ
»ù±¾½éÉÜ£º
showModalDialog() (IE 4+ Ö§³Ö)
showModelessDialog() (IE 5+ Ö§³Ö)
window.showModalDialog()·½·¨ÓÃÀ´´´½¨Ò»¸öÏÔʾHTMLÄÚÈݵÄģ̬¶Ô»°¿ò¡£
window.showModelessDialog()·½·¨ÓÃÀ´´´½¨Ò»¸öÏÔʾHTMLÄÚÈݵķÇģ̬¶Ô»°¿ò¡£
ʹÓ÷½·¨£º
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
²ÎÊý˵Ã÷£º
sURL--±ØÑ¡²ÎÊý£¬ÀàÐÍ£º×Ö·û´®¡£ÓÃÀ´Ö¸¶¨¶Ô»°¿òÒªÏÔʾµÄÎĵµµÄURL¡£
vArguments--¿ÉÑ¡²ÎÊý£¬ÀàÐÍ£º±äÌå¡£ÓÃÀ´Ïò¶Ô»°¿ò´«µÝ²ÎÊý¡£´«µÝµÄ²ÎÊýÀàÐͲ»ÏÞ£¬°üÀ¨Êý×éµÈ¡£¶Ô»°¿òͨ¹ýwindow.dialogArgumentsÀ´È¡µÃ´«µÝ½øÀ´µÄ²ÎÊý¡£
sFeatures--¿ÉÑ¡²ÎÊý£¬ÀàÐÍ£º×Ö·û´®¡£ÓÃÀ´ÃèÊö¶Ô»°¿òµÄÍâ¹ÛµÈÐÅÏ¢£¬¿ÉÒÔʹÓÃÒÔϵÄÒ»¸ö»ò¼¸¸ö£¬Ó÷ֺš°;¡±¸ô¿ª¡£
1.dialogHeight :¶Ô»°¿ò¸ß¶È£¬²»Ð¡ÓÚ£±£°£°px£¬£É£Å£´ÖÐdialogHeight ºÍ dialogWidth ĬÈϵĵ¥Î»ÊÇem£¬¶ø£É£Å£µÖÐÊÇ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¡£
²ÎÊý´«µÝ£º
1.ÒªÏë¶Ô»°¿ò´«µÝ²ÎÊý£¬ÊÇͨ¹ývArgumentsÀ´½øÐд«µÝµÄ¡£ÀàÐͲ»ÏÞÖÆ£¬¶ÔÓÚ×Ö·û´®ÀàÐÍ£¬×î´óΪ4096¸ö×Ö·û¡£Ò²¿ÉÒÔ´«µÝ¶ÔÏó£¬ÀýÈ磺
<script>
var obj = new Object();
obj.name="ttop";
window.showModalDialog("test.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
test.htm
<script>
var obj = window.dialogArguments
alert("Äú´«µÝµÄ²ÎÊýΪ£º" + obj.name)
</script>
2.¿ÉÒÔͨ¹ýwindow.returnValueÏò´ò¿ª¶Ô»°¿òµÄ´°¿Ú·µ»ØÐÅÏ¢£¬µ±È»Ò²¿ÉÒÔÊǶÔÏó¡£ÀýÈ磺
<script>
str=window.showModalDialog("test.htm",,"dialogWidth=200px;dialogHeight=100px");
alert(str);
</script>
test.htm
<script>
window.returnValue="qifei123";
</script>
-----------------------------------------------------------------------------------
Ò»¡¢showModalDialogºÍshowModelessDialogÓÐʲô²»Í¬£¿
ͬ£ºÁ½Õßµ¯³öµÄ´°Ìå²»ÄÜË¢ÐÂ
񓣼
showModalDialog£º±»´ò¿ªºó¾Í»áʼÖÕ±£³ÖÊäÈë½¹µã¡£³ý·Ç¶Ô»°¿ò±»¹Ø±Õ£¬·ñÔòÓû§ÎÞ·¨Çл»µ½Ö÷´°¿Ú¡£ÀàËÆalertµÄÔËÐÐЧ¹û¡£
showModelessDialog£º±»´ò¿ªºó£¬Óû§¿ÉÒÔËæ»úÇл»ÊäÈë½¹µã¡£¶ÔÖ÷´°¿ÚûÓÐÈκÎÓ°Ïì(×î¶àÊDZ»µ²×¡Ò»Ï¶øÒÔ¡£)
¶þ¡¢ÔõÑù²ÅÈÃÔÚshowModalDialogºÍshowModelessDialogµ¯³öµÄд°¿ÚÀï²Ù×÷buttonºÍ³¬Á¬½Ó,²»µ¯³öд°¿Ú£¿
ÔÚ<head>ºÍ</head>Ö®¼ä¼Ó<base target="_self">
Èý¡¢ÔõÑù²ÅË¢ÐÂshowModalDialogºÍshowModelessDialogÀïµÄÄÚÈÝ£¿
ÔÚshowModalDialogºÍshowModelessDialogÀïÊDz»Äܰ´F5ˢеģ¬ÓÖ²»ÄÜÓÒ¼üµ¯³ö²Ëµ¥¡£Õâ¸öÖ»ÄÜÒÀ¿¿jsÁË£¬ÒÔÏÂÊÇÏà¹Ø´úÂ룺
<body onkeydown="if (event.keyCode==116){reload.click()}">
<a id="reload" href="filename.htm" style="display:none">reload...</a>
½«filename.htmÌæ»»³ÉÍøÒ³µÄÃû×ÖÈ»ºó½«Ëü·Åµ½Äã´ò¿ªµÄÍøÒ³À°´F5¾Í¿ÉÒÔË¢ÐÂÁË£¬×¢Ò⣬Õâ¸öÒªÅäºÏ<base target="_self">ʹÓ㬲»È»Äã°´ÏÂF5»áµ¯³öд°¿ÚµÄ¡£
ËÄ¡¢ÈçºÎÓÃjs¹ØµôshowModalDialog(»òshowModelessDialog)´ò¿ªµÄ´°¿Ú¡£
<input type="button" value="¹Ø±Õ" onclick="window.close()">
Îå¡¢showModalDialogµÄ·µ»ØÖµ
ÔÚ±»µ¯³öµÄ´°ÌåÒ³ÃæÎļþÖÐÖ´ÐÐ
<script>
returnValue="flynetcn";
</Script>
Áù¡¢showModalDialogºÍshowModelessDialogÊý¾Ý´«µÝ¼¼ÇÉ¡£
Àý×Ó£º
ÏÖÔÚÐèÒªÔÚÒ»¸öshowModalDialog(»òshowModelessDialog)Àï¶ÁÈ¡»òÉèÖÃÒ»¸ö±äÁ¿var_name
Ò»°ãµÄ´«µÝ·½Ê½£º
window.showModalDialog("filename.htm",var_name) //´«µÝvar_name±äÁ¿
ÔÚshowModalDialog(»òshowModelessDialog)¶ÁÈ¡ºÍÉèÖÃʱ£º
alert(window.dialogArguments) //¶ÁÈ¡var_name±äÁ¿
window.dialogArguments="oyiboy" //ÉèÖÃvar_name±äÁ¿
ÕâÖÖ·½Ê½ÊÇ¿ÉÒÔÂú×ãµÄ£¬µ«Êǵ±ÄãÏëÔÚ²Ù×÷var_nameͬʱÔÙ²Ù×÷µÚ¶þ¸ö±äÀívar_idÊ±ÄØ£¿¾ÍÎÞ·¨ÔÙ½øÐвÙ×÷ÁË¡£Õâ¾ÍÊÇÕâÖÖ´«µÝ·½Ê½µÄ¾ÖÏÞÐÔ¡£
ÒÔÏÂÊÇÎÒ½¨ÒéʹÓõĴ«µÝ·½Ê½£º
window.showModalDialog("filename.htm",window) //²»¹ÜÒª²Ù×÷ʲô±äÁ¿£¬Ö»Ö±´«µÝÖ÷´°¿ÚµÄwindow¶ÔÏó
ÔÚshowModalDialog(»òshowModelessDialog)¶ÁÈ¡ºÍÉèÖÃʱ£º
alert(window.dialogArguments.var_name) //¶ÁÈ¡var_name±äÁ¿
window.dialogArguments.var_name="oyiboy" //ÉèÖÃvar_name±äÁ¿
ͬʱÎÒÒ²¿ÉÒÔ²Ù×÷var_id±äÁ¿
alert(window.dialogArguments.var_id) //¶ÁÈ¡var_id±äÁ¿
window.dialogArguments.var_id="001" //ÉèÖÃvar_id±äÁ¿
ͬÑù»¹¿ÉÒÔ¶ÔÖ÷´°¿ÚµÄÈκζÔÏó½øÐвÙ×÷£¬Èçform¶ÔÏóÀïµÄÔªËØ¡£
window.dialogArguments.form1.index1.value="ÕâÊÇÔÚÉèÖÃindex1ÔªËØµÄÖµ"
Æß¡¢¶à¸öshowModelessDialogµÄÏ໥²Ù×÷¡£
ÒÔÏ´úÂëµÄÖ÷Òª×÷ÓÃÊÇÔÚÒ»¸öshowModelessDialogÀïÒÆ¶¯ÁíÒ»¸öshowModelessDialogµÄλÖá£
Ö÷ÎļþµÄ²¿·Ýjs´úÂë¡£
var s1=showModelessDialog('control.htm',window,"dialogTop:1px;dialogLeft:1px"£© //´ò¿ª¿ØÖÆ´°¿Ú
var s2=showModelessDialog('about:blank',window,"dialogTop:200px;dialogLeft:300px"£© //´ò¿ª±»¿ØÖÆ´°¿Ú
control.htmµÄ²¿·Ý´úÂë¡£
<script>
//²Ù×÷λÖÃÊý¾Ý£¬ÒòΪ´°¿ÚµÄλÖÃÊý¾ÝÊÇ"xxxpx"·½Ê½µÄ£¬ËùÒÔÐèÒªÕâÑùµÄÒ»¸öÌØÊâ²Ù×÷º¯Êý¡£
function countNumber(A_strNumber,A_strWhatdo)
{
A_strNumber=A_strNumber.replace('px','')
A_strNumber-=0
switch(A_strWhatdo)
{
case "-":A_strNumber-=10;break;
case "+":A_strNumber+=10;break;
}
return A_strNumber + "px"
}
</script>
<input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'-')" value="ÉÏÒÆ">
<input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'-')" value="×óÒÆ">
<input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'+')" value="ÓÒÒÆ">
<input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'+')" value="ÏÂÒÆ">
ÒÔÉϹؼü²¿·ÝÊÇ£º
´°¿ÚÃüÃû·½Ê½£ºvar s1=showModelessDialog('control.htm',window,"dialogTop:1px;dialogLeft:1px"£©
±äÁ¿·ÃÎÊ·½Ê½£ºwindow.dialogArguments.s2.dialogTop
Õâ¸öÀý×ÓÖ»ÊÇʵÏÖshowModelessDialogÓëshowModelessDialogÖ®¼äµÄλÖòÙ×÷¹¦ÄÜ£¬Í¨¹ýÕâ¸öÔÀí£¬¿ÉÒÔÔÚshowModelessDialogÖ®¼äÏ໥¿ØÖƸ÷×ÔµÄÏÔÊ¾Ò³Ãæ£¬´«µÝ±äÁ¿ºÍÊý¾ÝµÈ¡£


