我正在显示页面中的弹出窗口。弹出窗口有一个页面,然后重定向到另一个页面(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()函数。我想这是因为弹出窗口内的重定向,当我们从第一页移动时会引发卸载。
在这种情况下,有没有办法捕捉窗口关闭的实际时刻?
答案 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);
它有效。