window.showModalDialog弹出对话框刷新问题的总结

本文介绍了如何使用window.returnValue在showModalDialog模式窗口关闭时刷新父窗口,以及如何通过简单的JavaScript和HTML设置来刷新模式窗口自身。此外还提供了解决模式窗口中链接打开新窗口问题的方法。
摘要由CSDN通过智能技术生成
window.showModalDialog刷新父窗口和本窗口的方法及注意:

一.刷新父窗口的方法:
A.使用window.returnValue给父窗口传值,然后根据值判断是否刷新。

      在window.showModalDialog窗口页面中用window.returnValue方式设置返回值;
比如:window.returnValue='refresh';

B。在写window.showModalDialog弹出窗口函数时,定义个变量,然后根据变量值进行操作父窗口的操作;
例 如:var winPar=window.showModalDialog(urls,'ERPWINDOWS','dialogWidth='+widths+'px;dialogHeight='+heigths+'px;status=no;center=yes;scroll=no');
if(winPar == "refresh")
window.location.reload();//当window.showModalDialog窗口关闭时执行
winPar为A步骤给showModalDialog窗口设置的返回值

总结:由于window.showModalDialog函数打开一个IE的模式窗口(就是打开后不能操作父窗口,只能等模式窗口关闭时才能操作),

所以想要刷新父窗口只能在模式窗口关闭后执行。用window.returnValue可以向父窗口传值,这样一来可以用从模式窗口向父窗口传递值,

然后根据值判断操作父窗口的方式来刷新。这样在任何关闭了模式窗口后父窗口都会自动刷新.

二.刷新模式本窗口
showModalDialog窗口与window.open打开的窗口刷新本窗口时不同,showModalDialo窗口也不能用F5刷新,也没有右 键操作
A. 在模式窗口页面中加入:      
<base target="_self"> //在html和body之间
<a id="reload" href="本页面url" style="display:none"></a>

   B. 在需要执行刷新操作的地方执行以下js:
reload.click();//reload为A中隐藏a标签的id,当然可以换成其它名称


三。注意事项

    在点击window.showModalDialog窗口的链接的时候会打开新窗口,想要阻止打开新窗口,需要在窗口页面中的html和body之间
加入: <base target="_self" />即可,有时候无效,需要换成<base target="_self"></base>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值