/ / window.opener è inutile dopo un reindirizzamento nella finestra popup (JavaScript) - javascript, window

window.opener è inutile dopo un reindirizzamento nella finestra popup (JavaScript) - javascript, finestra

Sto creando un'app che prevede l'autenticazionetramite terze parti. Per evitare che il processo reindirizzi l'app effettiva, apro una nuova finestra che esegue l'autenticazione e ritorna alla finestra principale dopo il successo.

Tuttavia, ciò non va come previsto. Quando il popup reindirizza a terze parti e viceversa, window.opener prende null. È ancora possibile chiudere il popup vicino window.close() ma devo anche aggiornare l'area di accesso nella finestra principale, in questo modo:

window.opener.check_auth_status();

Spero davvero che ci sia un modo per risolvere questo problema, ad es. associare una funzione per chiudere popup nella finestra principale? Aggiornare l'intera pagina sarebbe altamente inutile.

Un modo è quello di imposta un intervallo sulla finestra principale controllare se il popup è chiuso, ma sembra così complicato.

risposte:

9 per risposta № 1

Hai alcune opzioni che potrebbero funzionare o meno nelle ultime versioni dei browser a causa di aggiornamenti di sicurezza

1) controlla che la finestra sia chiusa dall'apri - non in modo complicato e in realtà il più sicuro

2) dare un nome all'apri

window.name="myMainWindow";

e in popup (script dal dominio SAME) - normalmente non dovrebbe aprire una nuova finestra o cambiare contenuto

var handle = window.open("","myMainWindow");
handle.check_auth_status();

3) usa un iFrame nel popup e quando vuoi accedere all'apri, usa top.opener