其中:objects可以为参数(包括数组),也可以是对象。
通常的用法 objects = {window} ,把父窗体的对象共享给子窗体。
2。关闭子窗口:
3。从子窗体传参数给父窗体:
3。清除缓存,防止模式窗口页面不更新的情况:
<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。防止打开新窗口(如提交表单):
5。在模式窗口使用F5刷新页面:
<body οnkeydοwn="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 对象集),即可以获得或者设置主窗口的值。
具体实例:
window.showModalDialog('areaAdd.jsp",window,'dialogWidth:245px;dialogHeight:210px;status:no;help:no;scroll:no;');
其中window参数如果是需要页面间传值就必须要,否则可为空。父子页面之间通讯也需要该参数。主页面的iframe名称为areaIframe,子页面名称为areaAdd,父页面通知子页面刷新用:areasIframe.location.href='areaIframe.jsp'。子页面通知父页面刷新使用:window.dialogArguments.areasIframe.areasReload();其中areasReload()是子页面中的javascript方法
注意 iframe 的属性必须使用前缀 document.all 访问,例如 document.all.iframeId.marginWidth。