弹出窗口关闭时刷新特定页面(jQuery)

时间:2012-03-01 14:50:18

标签: javascript jquery

我有一个名为PopUp1的弹出窗口(page0.aspx)。当用户单击PopUp1的GridView中的一行时,它会打开一个新的弹出窗口,加载我的page1.aspx。

如果用户点击新弹出窗口(page1.aspx)中的链接,则内容将替换为page2.aspx。

我想要的:如果用户关闭了打开page1.aspx或page2.aspx的第二个弹出窗口,请刷新PopUp1(page0.aspx)。

我怎么能通过jQuery做到这一点?

3 个答案:

答案 0 :(得分:2)

在page1.aspx和page2.aspx中的

添加一些javascript来刷新他们的父(你不需要任何jquery)

在你的标记中:

<body onunload="refreshParent();">

在你的javascript中:

var refreshParent = function () {
    if (opener && !opener.closed) {
        opener.location.reload();
    }
};

编辑:或者,如果您希望将逻辑与标记分开:

$(window).unload(refreshParent);

答案 1 :(得分:1)

在你的新弹出窗口(page1.aspx或page2.aspx)中,放置以下jQuery,它应该在关闭或刷新弹出窗口时刷新打开窗口:

$(window).unload(function(){
    window.opener.location.reload();
});

如果您想在页面中执行某种工作流逻辑,也可以使用.assign方法更改初始页的位置, 例如window.opener.location.assign('http://newurl');

答案 2 :(得分:0)

你可以使用普通的javascript

window.opener.reload();