2010-03-26 15 views
9

Ho una finestra pop-up in cui un utente accede, una volta che l'accesso è avvenuto correttamente, ho un messaggio che ha un collegamento per chiudere la finestra. Ma voglio che non solo chiuda quella finestra pop-up, ma voglio che aggiorni la pagina web su cui è stata fatta clic sulla finestra a comparsa.necessario aggiornare la pagina Web dopo aver fatto clic su Chiudi finestra pop-up

Così la pagina può essere aggiornata per vedere che c'è una sessione di accesso valida per quell'utente.

È possibile questo w/jQuery?

+0

Se avete intenzione di aggiornare la pagina in questo modo, perché preoccuparsi utilizzando un pop-up/javascript di accedere, in primo luogo? Perché non hai i controlli di accesso in un lightbox come div, e hai la possibilità di pubblicare la pagina? –

risposta

16

Nella finestra pop-up:

$('#closeButton').click(function(e) { 
    window.opener.location.reload(true); 
    window.close(); 
    e.preventDefault(); 
}); 

ricarica la pagina padre e chiude il popup.

+1

Restituire 'false' da un gestore equivale a chiamare sia' .preventDefault() 'che' .stopPropagation() 'sull'oggetto evento. – Andy

+0

Funziona alla grande! grazie Signore. – user219628

2

Si può fare questo:

window.location.reload() 

Racconta solo javascript per ricaricare la pagina, questo non dipende da jQuery.

0

Ecco un codice che aggiorna la finestra principale e chiude il popup in un'unica operazione.

<script language="JavaScript"> 
<!-- 
function refreshParent() { 
    window.opener.location.href = window.opener.location.href; 

    if (window.opener.progressWindow) { 
    window.opener.progressWindow.close() 
    } 
    window.close(); 
} 
//--> 
</script> 
0

utilizzare questo codice in ajaxlogin.js programma per MVC 4 utente

$('#closeButton').click(function(e) { 
    window.opener.location.reload(true); 
    window.close(); 
    e.preventDefault(); 
}); 

il suo bel lavoro

0

funziona in modo efficiente per me:

$(window).unload(function() { 
    if (!window.opener.closed) { 
     window.opener.__doPostBack('', ''); 
     e.preventDefault(); 
    } 
}); 
+1

In firefox il codice non aprirà una finestra di conferma chiedendo ** "Per visualizzare questa pagina, Firefox deve inviare informazioni che ripeteranno qualsiasi azione (come una ricerca o conferma d'ordine) che è stata eseguita in precedenza." ** –

1
onclick="javascript:window.opener.location.reload(true);self.close();" 
Problemi correlati