window.showModalDialog(),与window.open()刷新上一个窗口的方法

 

window.open()

 例如A页面利用window.open弹出了B页面窗口,B又通过window.open弹出了C页面,但是在关闭时刷新C页面要刷新B页面。可以通过opener引用B页面来刷新。

opener即谁打开我的,比如A页面利用window.open弹出了B页面窗口,那么A页面所在窗口就是B页面的opener,在B页面通过opener对象可以访问A页面。  

 

window.showModalDialog()

例如:A页面利用window.showModelDialog()弹出了B页面窗口,B页面又通过window.showModelDialog()弹出了C页面,但是在关闭C页面时要刷新B页面,这就要比window.open要得杂些了,因为本身为window.showModelDialog()弹出的窗口页面再用window.showModelDialog()弹出的页面是没有opener对象的,所以C页面不能用opener的方式引用B页面。但是因为window.showModelDialog()会使新showModelDialog()的页面获得焦点,只有把这个页面关闭程序才能向下执行,我们可以在showModelDialog()的下一行代码来完成刷新操作。原理是在被刷新的页面中定义一个<a>对象用于执行刷新动作,当C页面关闭时把焦点交给B页面并且继续执行B页面中的代码。代码如下:

A页面:

window.showModelDialog("B页面","参数","参数");

 

B页面:

window.showModelDialog("C页面","参数","参数");

var url = "B页面";

reload.setAttribute("href",url); //设置刷新页面
reload.click();//刷新动作

必须在页面中定义一个用于刷新有对象<a>;

<a id="reload"  style="display:none">刷新</a>

 注意:在showModelDialog的页面中必须在<head></head>中添加<base target="_self">,这新该页面的提交才不会弹出一个新的页面,否则就达不到以上效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值