父级已关闭时重新加载父级父窗口

时间:2012-12-17 10:32:51

标签: javascript jquery html

我有一个父窗口(#1),它打开一个弹出子窗口(#2),然后打开一个弹出子窗口(#3)。当(#3)打开时,(#2)由self.close()关闭。

我的问题是当我关闭(#3)时如何刷新(#1)?我尝试了window.opener.opener.reload(),但由于(#2)已经关闭,这不起作用。

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:-1)

window.parent.opener.location.reload();