2009-11-12 14 views
5

Sto verificando lo stato dell'utente (se è attivo o inattivo) in una pagina Web (in una finestra a comparsa). nel caso in cui sia inattivo per più di 30 minuti, la finestra si chiuderà automaticamente e ripristinerà alcuni flag nel database.verifica lo stato dell'utente (attivo, inattivo) su una pagina Web

ho impostato i cookie che contengono l'ora di inizio (l'ora in cui apre la finestra a comparsa) e lo confrontano con l'ora corrente ogni volta che la pagina si aggiorna o naviga in un'altra pagina (ancora nella finestra pop-up) . oltre ai cookie, imposto anche il time-in nel database (nel caso in cui la finestra pop-up non sia aperta, un job cron si occuperà del reset dei flag controllando l'orario nel database).

potrebbe esserci un caso in cui sta digitando qualcosa nella finestra e non si verifica il caricamento della pagina entro 30 minuti, quindi la finestra si chiuderà automaticamente e perderà il lavoro. quindi ho aggiunto una funzione in modo che ogni evento onkeydown e onclick, sia aggiornato il valore di time-in sia nel cookie sia nel database.

Inoltre, è possibile che più di una persona utilizzi il sistema.

consuma troppe risorse? Non ho familiarità con le cose relative a questo problema. o c'è un modo migliore per farlo?

grazie!

risposta

1

Se invii sempre onkeypress e ogni evento onclick al server/database, questo penetrerà nel tuo server! Per queste due cose aggiungerei un'altra funzione javascript che invia informazioni se l'utente è attivo in un intervallo di - ad esempio - 2 o 5 minuti. Puoi farlo impostando le funzioni setInterval o setTimeout e traccia, se l'utente era attivo nell'ultimo periodo. Se lo era, invia la richiesta, in caso contrario, non inviare.

Problemi correlati