在弹出窗口关闭时刷新父页面

hud*_*hab 5 html javascript window popup

我有一个父页面,其中我添加了搜索功能.

如下

function FunClick(StrPriCaption) {
        var StrPriHTML = "";
        if (StrPriCaption == 'AdvSearch') {
            //document.getElementById('TxtCondition').value = "AdvSearch";
            //form1.submit();
            var StrPriReturnValue = "";
            window.open('FrmInwardHdrAdvanceSearch.aspx', null, 'height=370,width=630,top=0,left=0,resizable=yes,scrollbars=yes');

        }
 }
Run Code Online (Sandbox Code Playgroud)

而且效果很好.它会打开一个弹出窗口页面供我搜索.

但现在我想要的是,如果我关闭弹出窗口,我想刷新父页面.

我尝试在子页面中使用以下代码,但它没有刷新父页面.

 function CloseWindow() {
    window.close();
    window.opener.location.reload();
 }
Run Code Online (Sandbox Code Playgroud)

我怎么能用Javascript做到这一点?

NET*_*ing 8

方法1

<script>
function popup() {
    var win = window.open("", "Page Title", "toolbar=no, location=no");
    win.document.body.innerHTML = '<a href="#" onclick="window.opener.location.reload();window.close();">Close Me</a>';
}
</script>
<a href="#" onclick="popup()">Open Me</a>
Run Code Online (Sandbox Code Playgroud)

它会创建一个弹出窗口,其中包含关闭窗口和刷新父窗口的链接.

演示:https://jsfiddle.net/eke4f72r/

方法2

<script>
function popup() {
    var win = window.open("", "Page Title", "toolbar=no, location=no");
    var win_timer = setInterval(function() {   
      if(win.closed) {
          window.location.reload();
          clearInterval(win_timer);
      } 
      }, 100); 
}
</script>
<a href="#" onclick="popup()">Open Me</a>
Run Code Online (Sandbox Code Playgroud)

它从父窗口检测子项是否已关闭.如果为true,则重新加载页面.

演示:https://jsfiddle.net/gv6nmdn9/

编辑使用方法1时,让您的父母打开您想要的弹出窗口,然后将其添加到您的孩子中:

<a href="#" onclick="window.opener.location.reload();window.close();">Close Me</a>
Run Code Online (Sandbox Code Playgroud)