当前位置: 代码迷 >> Web前端 >> 形式窗口showModalDialog的用法总结(收藏)
  详细解决方案

形式窗口showModalDialog的用法总结(收藏)

热度:76   发布时间:2012-08-30 09:55:54.0
模式窗口showModalDialog的用法总结(收藏)

模式窗口showModalDialog的用法总结
1。打开窗口:
Code:
var?handle?=?window.showModalDialog(url,?objects,?feathers);

其中:objects可以为参数(包括数组),也可以是对象。
通常的用法?objects?=?{window}?,把父窗体的对象共享给子窗体。

2。关闭子窗口:
Code:
window.close();


3。从子窗体传参数给父窗体:
Code:
window.returnVal?=?string;


3。清除缓存,防止模式窗口页面不更新的情况:
Code:
HTML
<META?HTTP-EQUIV="pragma"?CONTENT="no-cache">
<META?HTTP-EQUIV="Cache-Control"?CONTENT="no-cache,?must-revalidate">
<META?HTTP-EQUIV="expires"?CONTENT="Mon,?23?Jan?1978?20:52:30?GMT">
ASP
<%
Response.Expires?=?-1
Response.ExpiresAbsolute?=?Now()?-?1
Response.cachecontrol?=?"no-cache"
%>
PHP
header("Expires:?Mon,?26?Jul?1997?05:00:00?GMT");
header("Cache-Control:?no-cache,?must-revalidate");
header("Pragma:?no-cache");
JSP
response.setHeader("Pragma","No-Cache");
response.setHeader("Cache-Control","No-Cache");
response.setDateHeader("Expires",?0);


4。防止打开新窗口(如提交表单):
Code:
<base?target="_self">


5。在模式窗口使用F5刷新页面:
Code:
<base?target="_self">
<body?onkeydown="if?(event.keyCode==116){reload.click()}">
<a?id="reload"?href="filename.htm"?style="display:none">reload...</a>

其中:filename为窗口页面。

6。防止模式窗口打开的页面出现cookie丢失的情况:
模式窗口打开新窗口时,仅可以使用?showModalDialog(url,window,feathers);?方法,且?objects?为?window?。

7。在弹出窗口中获得或设置主窗口的任何值:
打开弹出窗口时用:showModalDialog(url,?window,?feathers)
在弹出窗口中使用?window.dialogArguments?对象(即主窗口传递过来的?window?对象集),即可以获得或者设置主窗口的值。

  相关解决方案