随锐旗下互动传媒:

如何判断某个弹出窗口已经被打开及刷新

http://www.weaseek.com  2008-06-25 13:35:16  来源:51cto

window.open()出来的窗口,如何判断已经打开?如果打开,则将其设置为当前焦点窗口,并重载数据即刷新。

WEB开发中,父子窗口的操作很是常用,打开子窗口的方式有多种,多数情况下这种模式用得比较多,大家也都很熟悉,貌似一种情况相对会用得少点,google出一篇帖子,解决了一个问题,记之备忘。

问题描述:window.open()出来的窗口,如何判断已经打开?如果打开,则将其设置为当前焦点窗口,并重载数据即刷新。

相信各位搞开发的还是直接进入代码比较直观。

var url="/.......Action.do?method=Query&entid="+entid;

window.open(url,'list','width=800,height=600,scrollbars=yes');

通常,我们都是这样直接打开窗口,但是,如果要实现描述的要求,则需要给window.open()出来的子窗口赋值。修改为:

var win = window.open(url,'namethis','width=800,height=600,scrollbars=yes');

if(win != null){

win.focus();

win.moveTo(200,100);

win.resizeTo(560,300);

win.location.reload();

}

如果 win!=null 则说明此时已经打开了子窗口,if 中的前三句还原弹出的子窗口位置,最后一句则实现了刷新,这和子窗口刷新父窗口的操作是一样的:window.opener.location.reload()。

顺便带一句,如何判断窗口已经最小化:

if(w.screenTop<0){

alert("子窗口己最小化");

}

上面的操作在IE下没有问题,对TT不灵。。。

[作者:雨寒]

[责任编辑:梧桐]热门关键词: WEB开发 子窗口