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()的下一行代码来完成刷新操作。原理是在被刷新的页面中定义一个对象用于执行刷新动作,当C页面关闭时把焦点交给B页面并且继续执行B页面中的代码。代码如下:

A页面:

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

 

B页面:

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

var url = "B页面";

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

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


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

你可能感兴趣的:(url,c)