30 messaggi dal 31 maggio 2001
Salve a tutti, il mio problema è questo:
Io vorrei effettuare un update in una tabella del database quando la finestra del browser viene chiusa, questo perchè mi serve sapere il tempo di visione di un certo documento che viene aperto in un popup nel sito. Io attualmente gestivo tutto suddividendo la pagina in due frame di cui uno nascosto il quale all'interno effettuava le procedure di salvataggio. La pagina del frame nascosta veniva richiamata nell'onfocus della pagina principale che apre il popup, in pratica si clicca sul documento da visualizzare nella finestra madre, questa operazione apre un popup che prima crea un record nel database con l'orario di apertura, poi una volta chiuso il popup, la finestra principale riacquista il fuoco e carica la pagina del frame nascosto che mi salva l'orario di chiusura documento. Attualmente io uso questa procedura, pero' ho notato che su alcuni computer non funziona. Vorrei sapere se qualcuno di voi ha un metodo alternativo o sappia il motivo perchè su alcuni computer gira e su altri no, nonostante si stia utilizzando lo stesso tipo di Browser. Grazie a chiunque mi dia una risposta.
11.886 messaggi dal 09 febbraio 2002
Contributi
Non credo che il focus sia molto affidabile per gestire una cosa del genere... cioè, se una volta che ho aperto la popup, voglio tornare alla finestra madre succede che parte la procedura di chiusura (mentre la popup ancora è aperta)?

Dovresti usare onUnload che è più sicuro.
La prima parte va benissimo, quando l'utente clicca sul link si apre una popup che dapprima salva l'ora di inizio e poi mostra il documento.

Ora hai un nuovo oggetto window che si è aperto (la popup) e verrà disattivato solamente alla sua chiusura.
Per leggerne il contenuto non deve necessariamente avere il focus...
Quando questa popup verrà chiusa l'evento onUnload si attiva e da lì apri un'ALTRA popup che ti salva l'ora di chiusura.
Perchè un'altra popup?
L'utente nel frattempo potrebbe aver chiuso la finestra madre...
Ma questa nuova popup che si genera avrà vita breve: ha solo il compito di salvare l'ora di chiusura (magari piazzala fuori dai margini dello schermo, specificando nel window.open top=-500,left=-500) e nel tag body di quest'ultima ci metti:
onLoad="Javascript:window.close()"

Con poche modifiche te la cavi...

Enjoy learning and just keep making
217 messaggi dal 15 settembre 2001
ma esistono ancora i popup?
sarà ma non li uso da quando il mio browser ufficiale è diventato
Avant Browser (www.avantbrowser.com)
- free
- motore di ie
- ha i tab per aprire piu finestre con lo stesso browser
- killa i popup automatici
- possibilità di aprire i popup "manuali" ovvero quelli che si aprono dopo un'esplicito click in secondo piano

e usare un bottoncino tipo "Chiudi finestra" che fa tutto?
11.886 messaggi dal 09 febbraio 2002
Contributi
carino... sarebbe da provare!

Ps. mi correggo: davvero fantastico!
Me lo sono appena scaricato (900k), è vero, usa il controllo di IE e in più è un MDI browser, che idea geniale diventerà il mio browser predefinito!
Modificato da BrightSoul il 28 novembre 2002 21.14 -

Enjoy learning and just keep making
30 messaggi dal 31 maggio 2001
Ok, ho fatto come avete detto e sembri funzioni, l'unico inconveniente, che ho risolto con un piccolo accorgimento, è per Netscape, che non mi apre la pagina di "chiusura" al top e al left che gli specifico. ho aggiunto una dimensione di uno per uno e non si nota molto.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.