Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

intercettare chiusura finestra

542 views
Skip to first unread message

Alberto

unread,
Jul 18, 2012, 6:25:28 AM7/18/12
to
Vorrei intercettare l'evento chiusura finestra (io mio applicatico gira dentro una finestra) o chiusura browser per effettuare alcune operazioni con un programma php (esci.php).
Purtroppo i vari onunload si attivano ad ogni cambio pagina mentre a me servirebbe un qualche cosa del tipo onclose che (mi sembra) non esiste.
Mi basterebbe funzionasse con firefox!
So che è un argomento molto discusso ma non sono riuscito a trovare nulla di utile!
Grazie

Alberto

ZER0

unread,
Jul 19, 2012, 7:03:56 PM7/19/12
to
On 7/18/12 12:25 PM, Alberto wrote:

> Vorrei intercettare l'evento chiusura finestra

Non c'�. Puoi solo verificare, come hai gi� visto, l'evento in cui il
documento viene scaricato dalla memoria (il che avviene non solo quando
la finestra viene chiusa).

> (io mio applicatico gira dentro una finestra) o chiusura browser per effettuare alcune operazioni con un programma php (esci.php).
> Purtroppo i vari onunload si attivano ad ogni cambio pagina

Si, perch� quando cambi pagina � o chiudi la finesta, o fai un reload �
scarichi ("unload") il documento dalla memoria, e quindi tutto il
javascript ad esso relativo.

> Mi basterebbe funzionasse con firefox!

Andrebbe vista la casistica particolare: come apri il tuo applicativo,
in che tipo di finestra si trova, che fine fa la finestra madre se viene
lanciato da una popup, che navigazione hai, eccetera.

A spanne, ti posso dire che al giorno d'oggi il problema non si pone
dato che un applicativo solitamente gira in un'unica pagina, che si
modifica in base alle richieste XMLHttpRequest inviate al server
(vedasi, ad esempio, twitter).

Volendo potresti anche mettere la navigazione in un iframe che occupa
tutta la pagina, in questo mondo se l'utente cambia pagina tramite link
dell'applicativo non scatena; ma comunque se l'utente ricarica la
medesima pagina si.

Potresti fare qualche accrocchio, dipendentemente da come hai
l'applicativo, ma onestamente la cosa migliore � � come sempre � non
fidarsi troppo del client se si ha la logica server side. Inoltre ci
sarebbero diverse casistiche in cui la chiusura della finestra non possa
giungere al server. La cosa migliore � sempre gestire tali sistemi di
pulizia lato server.

Anche qui, dipende ovviamente molto da cosa vuoi fare.

fabrizioma...@gmail.com

unread,
Oct 16, 2014, 8:40:38 AM10/16/14
to
Semplice ma molto efficace con tutti i browser:

<script type="text/javascript">
window.onbeforeunload = function(){ return 'Confermi la chiusura?';}
</script>
0 new messages