当内部重定向的弹出窗口关闭时执行功能

时间:2012-10-12 07:59:06

标签: javascript jquery html

我正在显示页面中的弹出窗口。弹出窗口有一个页面,然后重定向到另一个页面(LinkedIn授权一个,要清除),然后,在成功登录后,再次打开初始授权页面。 我想在弹出窗口关闭时重新加载父页面,但不能这样做。 代码如下:

function OpenAuthorizePopUp() {
    var w = window.open("AuthorizePage.aspx", "PopUp", "width=450,height=540");
    w.onunload = function () {
        SubmitPage();
    };

    return false;
}
function SubmitPage() {
    alert("SUBMIT!");
}

这里的问题是,当窗口关闭时,不会在弹出窗口显示之后调用SubmitPage()函数。我想这是因为弹出窗口内的重定向,当我们从第一页移动时会引发卸载。

在这种情况下,有没有办法捕捉窗口关闭的实际时刻?

2 个答案:

答案 0 :(得分:0)

因此弹出窗口的流程如下:

1. Your page -> 2. LinkedIn Page -> 3. Your Page

您能否将LinkedIn发送给您的网址更改为(3.)?如果是这样,请让LinkedIn将您发回给其上有window.onunload = window.parent.SubmitPage;的网页。

如果你不能 - 也就是说,LinkedIn总是会把你送回第一页 - 让第三页测试成功连接到LinkedIn,如果它存在,执行window.onunload = window.parent.SubmitPage;

您的想法的一个可能的改进就是让“成功”页面调用window.parent.SubmitPage();然后window.close();,因为您不再需要弹出窗口。

答案 1 :(得分:0)

找到解决方案。而不是使用window.parent访问父窗口,写了

opener.location.reload(true);

它有效。