重定向后window.opener为null

时间:2011-08-19 10:51:27

标签: javascript window.open

我正在使用window.open()从父级打开一个paypal窗口。付款并重定向回我的页面后(在弹出窗口中),我想关闭弹出窗口并更新父窗口URL。

我发现这可以通过window.opener.location。

然而,控制台显示

  

window.opener.location为null

重定向后

因为子窗口发生变化,弹出窗口会丢失有关开启器的信息。

太好了。现在有什么办法解决这个问题吗?也许在听父母的网址的父母那里添加一种“听众”?

3 个答案:

答案 0 :(得分:17)

导航到其他主机时,

window.opener被删除(出于安全原因),没有办法绕过它。如果可能的话,唯一的选择应该是在框架中进行支付。顶级文档需要保留在同一主机上。

答案 1 :(得分:4)

首先,您可以在父窗口中使用计时器功能,以检查子窗口是以特定时间间隔(例如100毫秒左右)打开还是关闭。如果它已关闭,那么您可以重新加载父窗口。

答案 2 :(得分:3)

IE中window.opener的问题是当你使用localhost网站和像paypal这样的网站时。只需将本地主机的位置从本地Intranet更改为Internet区域,并且开启者不会为空。