Apri popup e aggiorna la pagina principale sul popup vicino

Ho aperto una finestra pop-up da window.open in JavaScript, voglio aggiornare la pagina genitore quando chiudo questa finestra popup. (Evento onclose?) Come posso farlo?

window.open("foo.html","windowName", "width=200,height=200,scrollbars=no"); 

Puoi accedere alla finestra genitore usando ‘ window.opener ‘, quindi scrivi qualcosa come la seguente nella finestra secondaria:

  

La finestra pop-up non ha eventi ravvicinati che è ansible ascoltare.

D’altra parte, c’è una proprietà chiusa che è impostata su true quando la finestra viene chiusa.

Puoi impostare un timer per controllare quella proprietà chiusa e farlo in questo modo:

 var win = window.open('foo.html', 'windowName',"width=200,height=200,scrollbars=no"); var timer = setInterval(function() { if(win.closed) { clearInterval(timer); alert('closed'); } }, 1000); 

Guarda questo esempio di Fiddle funzionante !

sulla tua pagina figlio, metti questi:

  

e

  

ma come una buona progettazione dell’interfaccia utente, è necessario utilizzare un button Chiudi perché è più facile da usare. vedi il codice qui sotto.

   

window.open restituirà un riferimento alla finestra appena creata, a condizione che l’URL aperto sia conforms allo stesso criterio di origine .

Questo dovrebbe funzionare:

 function windowClose() { window.location.reload(); } var foo = window.open("foo.html","windowName", "width=200,height=200,scrollbars=no"); foo.onbeforeunload= windowClose;​ 

Io uso questo:

    

quando la finestra si chiude, aggiorna la finestra genitore.

Se la tua app viene eseguita su un browser abilitato HTML5. Puoi usare postMessage . L’esempio dato è abbastanza simile al tuo.

Nel mio caso ho aperto una finestra pop-up cliccando su linkbutton nella pagina madre. Per aggiornare il genitore alla chiusura del figlio usando

 window.opener.location.reload(); 

nella finestra figlio ha causato riaprire la finestra figlio (Potrebbe essere a causa dello stato di visualizzazione immagino. Correggimi se ho torto). Così ho deciso di non ricaricare la pagina in parent e caricare nuovamente la pagina assegnandogli lo stesso url.

Per evitare di aprire nuovamente i popup dopo aver chiuso la finestra a comparsa, questo potrebbe aiutare,

 window.onunload = function(){ window.opener.location = window.opener.location;}; 

Prova questo

  self.opener.location.reload(); 

Apri il genitore di una finestra corrente e ricarica la posizione.

Puoi raggiungere la pagina principale con il comando genitore (genitore è la finestra) dopo il passo puoi fare tutto …

  function funcx() { var result = confirm('bla bla bla.!'); if(result) //parent.location.assign("http://localhost:58250/Ekocc/" + document.getElementById('hdnLink').value + ""); parent.location.assign("http://blabla.com/" + document.getElementById('hdnLink').value + ""); } 

È ansible utilizzare il codice riportato di seguito nella pagina principale.

  

Il codice seguente riuscirà ad aggiornare la chiusura della finestra principale:

 function ManageQB_PopUp() { $(document).ready(function () { window.close(); }); window.onunload = function () { var win = window.opener; if (!win.closed) { window.opener.location.reload(); } }; }