2012-09-12 4 views
0

J'essaye de construire une application de rails et d'essayer de voir quels utilisateurs sont en ligne. Je sais comment implémenter la méthode pour montrer aux utilisateurs en ligne si l'utilisateur clique sur mon application, mais supposons que mon application ne comporte qu'une seule page, donc il n'y a pas de liens à cliquer. Comment suivre les utilisateurs en ligne sans que l'utilisateur doive cliquer n'importe où? Aussi, si l'utilisateur a été inactif pendant 15 minutes, je devrai mettre à jour l'état de veille au lieu d'en ligne et si l'utilisateur ferme le navigateur ou navigue vers une autre page, le statut passe en mode hors connexion.Vérifiez les utilisateurs actifs dans les rails si les utilisateurs restent dans une page et ne cliquez pas à travers l'application

Toute aide serait appréciée. Merci

Répondre

1

Vraisemblablement, ils interagissent d'une manière ou d'une autre avec la page (ajax peut-être?), Vous devrez donc détecter ces interactions et les utiliser pour déterminer si l'utilisateur est inactif ou non. Vous pouvez utiliser le onbeforeunload de javascript pour déterminer quand ils ont quitté la page.

+0

Merci mike onbeforeunload est exactement ce que je cherchais. – Leon

+0

Pas de problèmes, bonne chance avec le site. Si cela répond adéquatement à votre question initiale, je pense que le protocole doit marquer la réponse comme Acceptée. –

0

Je vous suggère de faire AJAX pings à votre côté serveur comme:

$.get('/user_activity/ping'); 

Vous pouvez le faire automatiquement à l'aide JS Timers ou explicitement lorsque l'utilisateur interagit avec la page d'une façon.

+0

Oui fgullien je l'utilise déjà je ne pouvais pas suivre l'événement lorsque l'utilisateur navigue loin de la page ou ferme le navigateur. Maintenant tout est terminé. – Leon

Questions connexes