论坛首页 Web前端技术论坛

处理弹出页面刷新父页面的问题 通用型

浏览 8721 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-19  
[size=medium]
我们会经常遇到弹出页面后关闭子页面需要刷新父页面的情况,下面是一个比较通用型的刷新父页面例子:
在A页面有
<javascript>
var oWindow;
var listen_started= false;
function showParentWin(){
    var url="";//定义弹出窗口的URL
    var model="";//定义弹出窗口样式
    oWindow = window.open(url,"",model);
    //注意下面才是重点
     if(!listen_started){
        setTimeout(refreshSelf,1000);
    }else{
        listen_started=true; 
    }
}
//刷新本页面
function refreshSelf(){
   if (!oWindow.closed){
       setTimeout(refreshSelf,500);
   } else {
       listen_started = false;
       var form = document.forms[0];
       form.action = "刷新本页面的URL";
       form.submit();
   }
}
</javascript>
<div>
<input type="button" value="点击弹出父窗口" onclick="showParentWin()">
</div>


不管子页面如何操作,只有当关闭子页面才会刷新父页面的效果就能解决
有些朋友们可能在子页面用window.opener.location.href=window.opener.location.href
但是当父页面进行操作后(比如父页面先保存再调用弹出子页面),则此时会有问题。

如果大家有更好的方法请发上来,如果这有什么不足的地方还请大家多多指教
[/size]
   发表时间:2009-03-23  
如果用open的话,可以在弹出窗口中直接调用opener的方法进行刷新
0 请登录后投票
   发表时间:2009-03-23  
是的。你说的没错。但是当父页面进行保存操作等刷新了父页面的操作。使得父页面重定向了。那么再在子页面用opener来刷新父页面将有问题
0 请登录后投票
   发表时间:2009-03-24  
不太清楚你说的意思,我们也很少用open,一般都是用模态窗口处理的.
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics