window.opener is null after redirect

Mike picture Mike · Aug 19, 2011 · Viewed 17.5k times · Source

I am opening a paypal window from the parent with window.open(). After payment and redirecting back to my page (in the popup window), I would like to close the popup and update the parent window URL.

I found out this works over window.opener.location.

However the console shows

window.opener.location is null

after redirection because as the child window changes, the popup looses the information about the opener.

Well great. Now is there any way to get around this? Maybe adding a sort of "listener" to the parent who listens to the URL of the child?

Answer

Wladimir Palant picture Wladimir Palant · Aug 19, 2011

window.opener is removed whenever you navigate to a different host (for security reasons), there is no way around it. The only option should be doing the payment in a frame if it is possible. The top document needs to stay on the same host.