Newsgroup: it.comp.lang.javascript
Titolo: Chiamare pagina asp su onunload

Ciao a tutti.
Dovrei fare in modo che quando l'utente chiude la finestra del browser
(cliccando sulla x o in qualsiasi altro modo) venga preventivamente
chiamata una pagina asp del sito che si occupa di cancellare la
sessione dell'utente.
Ho provato a mettere il codice seguente nell'onunload del frameset:
function onAbbandonaFrameset(){
           top.location.href="cancella_sessione.asp";
}
Dunque:
<frameset rows="70,*" framespacing="0" border="false" frameborder="0"
onunload="onAbbandonaFrameset()">
Purtroppo però la cosa funziona solo su alcune macchine. Dipende forse
da qualche impostazione del browser?
Ho notato una cosa strana: aggiungendo un alert:
function onAbbandonaFrameset(){
           top.location.href="cancella_sessione.asp";
           alert("ciao");
}
il tutto funziona e la sessione viene effettivamente cancellata.
Qualche idea?
Grazie mille in anticipo
Laura

 Ho provato a mettere il codice seguente nell'onunload del frameset:
 
Leggi il thread d'una decina di giorni fa dal subject "Sei sicuro di
voler uscire" dove si parla dell'evento onbeforeunload e delle sue
caratteristiche. 
Ma se per te cancellare la sessione č d'importanza vitale, *evita* di
affidarti al javascript, perché prima o poi ci rimani male. Oso supporre
piů prima che poi, in un caso del genere.
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

 più prima che poi, in un caso del genere.
Ciao.
Grazie mille per la risposta.
Purtroppo l'evento onbeforeunload mi dava esattamente gli stessi
problemi dell'onunload.
Alla fine ho optato per una popup che si apre sull'evento onunload,
chiama la pagina che cancella la sessione, saluta e ringrazia l'utente
ed infine, dopo un paio di secondi, si chiude.
Grazie di nuovo.
Laura

 Alla fine ho optato per una popup che si apre sull'evento onunload,
e che il 99 dei browser la bloccheranno... :-/
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.

 e che il 99 dei browser la bloccheranno... :-/
Pazienza...
Ci sono alternative? :-)

 Ci sono alternative? :-)
beh sě: non usare la popup: cosa cambia tra la popup e la non-popup?
onunload/onbeforeunload puoi comunque chiamare via xmlhttp una paginetta
server-side ... e, cosě a naso, č piů facile che riesca a funzionare questa
che non una popup (che, come dicevo, secondo me verrebbe bloccata oramai
dal 90% degli utenti)
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 dal 90% degli utenti)
Premetto che si tratta di un ambiente intranet, piuttosto controllato,
in cui il browser degli utenti è configurato per consentire l'apertura
di popup da parte dell'applicativo.
Dunque la popup dovrebbe funzionare per tutti. Inoltre ovviamente lato
server la sessione viene comunque eliminata dopo 20 minuti di
inattività.
Nonostante questo ti sarei molto grata se riuscissi ad essere più
esaustivo: ho tentato per due giorni di utilizzare gli eventi
onunload/onbeforeunload per chiamare via http  (sia in get che in post)
una pagina sul server, ma senza successo. Puoi dare un'occhiata ai
primi post e dirmi se secondo te sbagliavo qualcosa?  
Grazie
Ciao

 primi post e dirmi se secondo te sbagliavo qualcosa?  
eh ... sorry ma non ho proprio tempo di fare dei test, soprattutto perché
non ho mai avuto la necessità di usare tali eventi. sorry.
(vedo però che onunload avevi provato a chiamare una pagina asp ... io non
dicevo ciò, dicevo di restare nella stessa pagina e di usare xmlhttp per
cancellare la Session)
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

 cancellare la Session)
Grazie per la dritta: non conoscevo questo oggetto xmlhttp.
Vediamo se riesco a farne buon uso...
Ciao

 Vediamo se riesco a farne buon uso...
se anziché xmlhttp cerchi il nome commerciale "ajax" troverai l'iradiddio
...
Qua c'č un esempio; con qualche imperfezione che dovrei sistemare ma non
trovo mai il tempo, ma per una intranet dovrebbe andar bene (trovi anche un
codice asp server-side di esempio)
 
http://www.criosoftware.it/default39.aspx
 
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.