showModalDialog的用法

1。打开窗口:

Code:

var handle = window.showModalDialog(url, objects, feathers);


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

2
。关闭子窗口:

Code:

window.close();



3
。从子窗体传参数给父窗体:

Code:

window.returnVal = string;



3
。清除缓存,防止模式窗口页面不更新的情况:

window.showModalDialog会有缓存,导致第二次不进入pageload,解决方法:跟一个随机的参数:
var time =new Date();
var iWidth=840;
var iHeight=350;
var retval = window.showModalDialog('CustomerChargeDetail.aspx?HouseID=' + HouseParam+"&time="+time,'son','dialogwidth:'+iWidth+'px;dialogheight:'+iHeight+'px;help:no;status:no;scroll:directories:no;scrollbars:no;Resizable=no;')

或者:

<head></head>里加<meta   http-equiv="Pragma"   content="no-cache"> 

 

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 ο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 对象集),即可以获得或者设置主窗口的值。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值