Newsgroup: it.comp.lang.javascript
Titolo: evento chiusura finestra

Ciao a tutti,
forse è una stra faq ma non l'ho trovata quindi la posto.
Vorrei catturare l'evento di chiusura di una finestra.
In pratica vorrei premere la X del browser ed eseguire una funzione prima di
chiudere la finestra.
Ho visto che il metodo window.onunload non funziona con la X perchè viene
scatenato solo dal cambio di documento sulla finestra e non dalla sua
chiusura. Oppure esiste un modo per impedire la chiusura della finestra
(immagino di non ma non si sa mai :))  )
Grazie ciao
--
Massimo Zanette

 chiusura. Oppure esiste un modo per impedire la chiusura della finestra
Ti rispondo solo per logica, non ho basi documentali in proposito.
Immagino che sia perché quando uno clicca sulla [x] (o sceglie "Chiudi" 
dal menu "File" effettivamente non sta semplicemente chiudendo la 
finestra, bensě terminando il programma (o per lo meno quell'istanza del 
programma).
Vabbuň... ho scritto 'na fesseria? :-))
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

 Vabbuò... ho scritto 'na fesseria? :-))
purtroppo temo di no :-)))  .....insomma anche tu mi suggerisci che non si
può fare niente.
Mi sembra di aver letto che è possibile aprire finestre senza la barra in
alto che contiene il tris di pulsanti (tra cui la terribile [x]) però è
necessario usare script firmati.
Lasciando perdere il fatto che non so cosa voglia dire firmare uno
script.....avete idea se è una vaccata o se in effetti si può fare?


http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
per IE 4+
l' unica cosa d simile potrebbe essere onbeforeunload?
tenendo pero'presente che non discrimina tra chiusura e navigazione
normale
(neppure se si setta via script il window.onbeforeunload al posto di 
del body )
se poi gli si impone un event.returnValue, di default propone un
confirm  (poco personalizzabile) che consente all' utente di annullare
la chiusura
<HTML>
<HEAD>
<TITLE>IE4 </TITLE>
<script language="javascript">
function nome(){
/*il passo successivo ovviamente non serve a niente
volevo solo provare un qualcosa da far fare prima di schiattare
[il browser] caugh (spero)*/
q=0
while(q<100000)
{q+=1}
alert(q)
event.returnValue='ultima occasione per cambiare idea'
}
</script>
</HEAD>
<BODY onbeforeunload='nome()'>
</BODY>
</HTML>

Ehi funziona, grazie mille


provo a chiedere un'altra cosa...che sia possibile cancellare l'evento?
In pratica vorrei obbligare l'utente a chidere la finestra con i bottoni che
metto io.
Ciao
--
Massimo Zanette

 del body )
adesso provo a distinguere andando a leggere la posizione del mouse nel
momento
dell'evento, forse funziona.....
ciao
--
Massimo Zanette
http://www.massimozanette.it

ciao
tanto per curiosita', fatto qualcosa?
ciao

 ha scritto nel messaggio
news:3c62c44b...@news.tiscalinet.it...

l'oggetto event mi dice la posizione x,y del mouse al momento dell'evento.
y < 0 dovrebbero essere posizioni fuori dall'area della pagina (in pratica
sulla barra del titolo dato che io non ne avevo altre) e quindi non  può
essere che la [x]  (...spero).
Posso anche vedere se era premuto "alt"  nel caso qualche furbone mi chiuda
la finestra con alt+f4.
Insomma in questo modo ottengo il risultato di riuscire a fare alcune
operazioni prima che la finestra si chiuda....in pratica quello che mi
serviva.  Mi sarebbe risultato utile anche poter cancellare l'evento (senza
usare l'avviso in inglese) di cui mi avevi parlato ma non ci sono riuscito.
Ciao