Salve a tutti. Di seguito vi porrò il mio problema e in seguito la mia pseudo-soluzione, così mi date le vostre opinioni:
PROBLEMA:
Voglio realizzare un sistema di statistiche di accesso da utilizzare per qualsiasi sito web cui avrò modo di lavorare. Le statistiche le realizzerò tramite una tabella MySQL che contiene le varie informazioni, come ad esempio la data di accesso, l'ora di accesso, l'ip,.., ecc. Il mio unico problema riguarda il tempo di permanenza dell'utente nel sito, ovvero il tempo che intercorre tra l'entrata nella pagina e l'uscita. Per il tempo di entrata non è un problema, la questione semmai è intercettare il tempo di uscita, ovvero quando l'utente chiude il browser o la scheda. Ho letto molti post a riguardo, molti consigliavano di catturare l'evento onUnload o onBeforeUnload (che a quanto ho capito è compatibile solo con IE). Ho provato a realizzare alcune prove ma senza successo.
SOLUZIONE:
Ecco quindi che stanotte finchè rimuginavo tra le mille ipotesi ho avuto un'idea (un po' folle e sicuramente non il massimo): imposto una funzione javascript (con Ajax) che ogni secondo mi esegue lo script di aggiornamento del tempo di permanenza sul db. Per spiegarmi meglio, eseguo con Ajax un'aggiornamento costante di un record in un database. Ho preso naturalmente la cosa con le pinze perchè se da un lato essa si rivela soddisfacente ai fini del mio problema dall'altro posso presumere che tutto ciò rallenti la navigazione.
Fatemi sapere cosa ne pensate e se avete soluzioni migliori vi ringrazierei molto se le condividessi (non chiederò mai di postare codice).
Grazie in anticipo
PROBLEMA:
Voglio realizzare un sistema di statistiche di accesso da utilizzare per qualsiasi sito web cui avrò modo di lavorare. Le statistiche le realizzerò tramite una tabella MySQL che contiene le varie informazioni, come ad esempio la data di accesso, l'ora di accesso, l'ip,.., ecc. Il mio unico problema riguarda il tempo di permanenza dell'utente nel sito, ovvero il tempo che intercorre tra l'entrata nella pagina e l'uscita. Per il tempo di entrata non è un problema, la questione semmai è intercettare il tempo di uscita, ovvero quando l'utente chiude il browser o la scheda. Ho letto molti post a riguardo, molti consigliavano di catturare l'evento onUnload o onBeforeUnload (che a quanto ho capito è compatibile solo con IE). Ho provato a realizzare alcune prove ma senza successo.
SOLUZIONE:
Ecco quindi che stanotte finchè rimuginavo tra le mille ipotesi ho avuto un'idea (un po' folle e sicuramente non il massimo): imposto una funzione javascript (con Ajax) che ogni secondo mi esegue lo script di aggiornamento del tempo di permanenza sul db. Per spiegarmi meglio, eseguo con Ajax un'aggiornamento costante di un record in un database. Ho preso naturalmente la cosa con le pinze perchè se da un lato essa si rivela soddisfacente ai fini del mio problema dall'altro posso presumere che tutto ciò rallenti la navigazione.
Fatemi sapere cosa ne pensate e se avete soluzioni migliori vi ringrazierei molto se le condividessi (non chiederò mai di postare codice).
Grazie in anticipo