window.opener è null dopo il reindirizzamento

Sto aprendo una finestra paypal dal genitore con window.open() . Dopo il pagamento e il reindirizzamento alla mia pagina (nella finestra popup), vorrei chiudere il popup e aggiornare l’URL della finestra genitore.

Ho scoperto che funziona su window.opener.location.

Comunque la console mostra

window.opener.location è null

dopo il reindirizzamento perché quando la finestra secondaria cambia, il popup perde le informazioni sull’apers.

Bene bene. Ora c’è un modo per aggirare questo? Forse aggiungere una sorta di “ascoltatore” al genitore che ascolta l’URL del bambino?

window.opener viene rimosso ogni volta che si naviga verso un host diverso (per ragioni di sicurezza), non c’è modo di aggirarlo. L’unica opzione dovrebbe essere il pagamento in un frame se è ansible. Il documento principale deve rimanere sullo stesso host.

Innanzitutto è ansible avere una funzione timer nelle windows parent per verificare se la finestra secondaria è aperta o chiusa in un intervallo di tempo specifico, ad esempio 100 ms circa. Se è chiuso, puoi ricaricare la finestra genitore.

Il problema con window.opener in IE è quando si utilizza il sito localhost e il sito internet come paypal. Basta cambiare la posizione dell’host locale da Local Intranet all’area Internet e l’apertura non sarà nulla.