web-dev-qa-db-ja.com

ポップアップを閉じた後の親ウィンドウの更新

Hello.htmlに移動するポップアップウィンドウを作成しています。ポップアップウィンドウ(hello.html)を閉じたときに、元の(親ページ)を再読み込みしたい。私はそれを機能させることができないようですが、私は近くにいます。これがメインページとhello.htmlページのこれまでのコードです。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function open_win()
{
window.open("hello.html","_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width=400, height=400");
}
</script>


<script language="JavaScript">

function refreshParent() {
  window.opener.location.href = window.opener.location.href;

  if (window.opener.hello.html)

 {
    window.opener.hello.html.close()
  }
  window.close();
}
</script>


</head>

<body>

<script type="text/javascript">

var d=new Date();
document.write(d);

</script>

<form>
<input type="button" value="Open Window" onclick="open_win()">
</form>
</body>
</html>

これがhello.htmlです...

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
</script>
</head>
<body>

Hello

</body>
</html>
9
John Doe

子ウィンドウで nload event をサブスクライブし、子ウィンドウから親ウィンドウを呼び出して、閉じていることを通知します。

編集コードサンプルを追加しました...

function popupClosing() {
  alert('About to refresh');
  window.location.href = window.location.href;
}

var w = window.open("hello.html","_blank","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=yes, width=400, height=400");
w.onunload = function () {
  window.parent.popupClosing()
};
11

ポップアップモニターを作成した後、一定の間隔でその「クローズ」ステータスプロパティを作成した後、このようにします。ただし、これは親ドキュメントに追加されています。

var pop = window.open("page.html", "popup",
            "width=800,height=500,scrollbars=0,title='popup'");
    pop.focus();

    var monitor = setInterval(function() {

        if (pop.closed) {
            document.location.reaload()
        }

    }, 1000);
3
Stoia Alex

このjavascriptコードをポップアップウィンドウに配置してみてください。

window.onunload = function(){
  window.opener.location.reload();
};

/ ポップアップウィンドウを閉じるとonunloadイベントがトリガーされ、window.opener.location.reload()がソース(親)ウィンドウをリロードします。 /

2

ポップアップクローズ機能のクリックイベントで試してみてください...

window.opener.location.reload(true);
1
saun4frsh

このスクリプトをポップアップウィンドウのヘッダーに配置します。

<script type='text/javascript'>
window.onunload = function(){
window.opener.location.reload();}
</script>

これにより、ポップアップを閉じるときに親ウィンドウが再読み込みされます。

0
Zeke

このコードは、新しいウィンドウがwindow.open機能でポップされた場合にも機能します。

setTimeout(function () { window.opener.location.reload(true); window.close();}, 3000);
0
ravi shankar