我正在使用window.open()
从父级打开一个paypal窗口。付款并重定向回我的页面后(在弹出窗口中),我想关闭弹出窗口并更新父窗口URL。
我发现这可以通过window.opener.location。
然而,控制台显示
重定向后window.opener.location为null
因为子窗口发生变化,弹出窗口会丢失有关开启器的信息。
太好了。现在有什么办法解决这个问题吗?也许在听父母的网址的父母那里添加一种“听众”?
答案 0 :(得分:17)
window.opener
被删除(出于安全原因),没有办法绕过它。如果可能的话,唯一的选择应该是在框架中进行支付。顶级文档需要保留在同一主机上。
答案 1 :(得分:4)
首先,您可以在父窗口中使用计时器功能,以检查子窗口是以特定时间间隔(例如100毫秒左右)打开还是关闭。如果它已关闭,那么您可以重新加载父窗口。
答案 2 :(得分:3)
IE中window.opener的问题是当你使用localhost网站和像paypal这样的网站时。只需将本地主机的位置从本地Intranet更改为Internet区域,并且开启者不会为空。