1

ポップアップ子ウィンドウ(#2)を開く親ウィンドウ(#1)があり、ポップアップ子ウィンドウ(#3)が開きます。(#3) が開かれている間、(#2) は self.close() によって閉じられます。

私の質問は、閉じるとき (#3)、更新する方法 (#1) です。window.opener.opener.reload() を試してみましたが、(#2) は既に閉じられていたため、うまくいきませんでした。

4

2 に答える 2

0

私はあなたがそれを行うことができるとは思わない. #2 ウィンドウが閉じられると、それへの参照が失われるため、そのオープナー (#1) を参照して更新することはできません。

ただし、Chrome コンソールでの簡単なテストで判断すると、ウィンドウ #1 の参照をウィンドウ #3 ドキュメントに渡し、後でそれを使用して再読み込みします。次のようになります。

// in window #1 - opening window #2
var win2 = window.open('samedomainurl...');

// -----------------
// in window #2 (just opened)
// -----------------
// open window 3
var win3 = window.open('samedomainurl...');
// pass reference to window.opener (which is #1) to newly opened win3 document
win3.document.grandparentWindow = window.opener;

// -----------------
// in window #3 - after closing #2 you still can access #1 using document.grandparentWindow property
// -----------------
// reload original window
document.grandparentWindow.location.reload();
于 2012-12-17T10:51:20.297 に答える
-1
window.parent.opener.location.reload();
于 2016-08-09T05:46:58.557 に答える