最近遇到一个问题,要实现window.open打开的窗口关闭后,刷新一下当前页面,原来想的解决办法是在打开的窗口关闭时,window.opener.refresh();,结果一直提示没有权限,可能是和跨域有关吧,在网上搜搜,得到更好的方式,如下:

<script language=javascript>
var timer
var winOpen
function IfWindowClosed() {
if (winOpen.closed == true)
    {
        window.location = window.location;
        window.clearInterval(timer);
    }

}
function btnOpen_Click()
{
winOpen=window.open("2.html","","toolbar=no, location=no, directories=no, status=no, menubar=no" )
timer=window.setInterval("IfWindowClosed()",500);
}

</script>
<input type=button name=btnOpen value=open onclick="btnOpen_Click";>

这里,关键是window.open的时候,要winOpen=window.open,也就是把结果赋一个变量,这样以后就可以根据winOpen.closed判断打开的窗口是否关闭了,
timer=window.setInterval("IfWindowClosed()",500);  表示每隔一定的时间(500)就去执行IfWindowClosed(),当确定已经关闭后,执行window.clearInterval(timer);,将timer清除掉。

posted on 2007-02-07 12:32  HenryZhang  阅读(1185)  评论(0编辑  收藏  举报