2016-08-12 6 views
5

私は検索機能を追加した親ページを持っています。ポップアップウィンドウを閉じると親ページが表示されます

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'); 

     } 
} 

以下のような

そして、それは完璧に動作します。私が検索するためのポップアップウィンドウページが開きます。

しかし、今私がしたいのは、私がポップアップを閉じると、私は親ページを更新したいです。

子ページで以下のコードを試しましたが、親ページを更新しませんでした。

function CloseWindow() { 
    window.close(); 
    window.opener.location.reload(); 
} 

Javascriptを使用してこれを行うにはどうすればよいですか?

答えて

7

方法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> 

それは、ウィンドウを閉じて、親をリフレッシュするためにリンクをポップアップが作成されます。

デモ: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> 

子供が閉じている場合は、親ウィンドウから検出します。 trueの場合、ページをリロードします。

デモ:https://jsfiddle.net/gv6nmdn9/

EDIT方法1を使用する場合は、あなたが望むポップアップを開いて、ちょうどあなたの子供にこれを追加するために、あなたの親を作る

<a href="#" onclick="window.opener.location.reload();window.close();">Close Me</a> 
+0

@stack' FrmInwardHdrAdvanceSearch.aspx'の中に追加するべきです。第二のフィドルは私の最後に働く。古いブラウザを使用している可能性がありますか? –

+0

@stack 'FrmInwardHdrAdvanceSearch.aspx'の中に' 'を追加する必要があります。 –

+0

' 閉じるmeのようなもの ' –

0

親ページにそれを検出:

iframe=window.open(""); 
iframe.onclose=function(){ 
window.location="redirect"; 
}; 
+0

私はのための親ページをロードするとき私は 'Microsoft JScriptランタイムエラー:オブジェクトが期待されています 'とエラーが発生しました – BNN

関連する問題