Titre: Detecter la fermeture d'Opera
Posté par: Freakz le le 29-01-2011 a 01:17:15
Bonjour à tous,
Ce problème a été maintes fois recassé sur pas mal de sites et forum, mais je ne trouve aucune solution à mon problème.
Je travaille actuellement sur un site avec une partie chat; sur ce site des membres pourront être en ligne. Je cherche à réaliser un 'qui est en ligne' quasi temps réel, c'est à dire, les membres figurants dans le 'qui est en ligne' sont réellement connectés.
Tout fonctionne à merveille, sauf pour le naviguateur Opera. En effet, je n'arrive pas à detecter la fermeture de celui-ci, donc tout membre connecté sous Opera restera connecté advitam s'il ferme son navigateur sans se deconnecté. Je pourrais utiliser des Sessions sur le temps pour gérer le qui est en ligne, mais c'est justement ce que j'essaie d'éviter.
Pour IE, Firefox,... j'utilise le JS avec onunload et onbeforeunload avec une requete ajax pour les deconnections, ca marche sans soucis. Mais ces fonctions ne sont pas reconnues par Opera.
Ma question est toute simple, comment pourrais-je détecter la fermeture d'Opera ? Même un subterfuge tordu m'ira, du moment que j'arrive à déconnecter le membre à la fermeture du naviguateur.
La moindre piste m'aiderait beaucoup.
Cordialement. Nicolas.
|
Titre: Re:Detecter la fermeture d'Opera
Posté par: Freakz le le 29-01-2011 a 16:59:22
Même soucis sous Safari et Chrome.
Une idée ?
Cordialement. |
Titre: Re:Detecter la fermeture d'Opera
Posté par: MarvinLeRouge le le 29-01-2011 a 20:09:04
Salut,
Je vois bien un bon gros truc bourrin, du genre : - chaque personne connectée envoie une requête automatique toutes les n secondes, qui inscrit dans une bdd la date courante devant le login correspondant - et toute personne marquée connectée et dont le dernier accès remonte à plus de 3n secondes (par exemple) est marquée déconnectée |
Titre: Re:Detecter la fermeture d'Opera
Posté par: Freakz le le 29-01-2011 a 23:59:34
Merci pour ta réponse.
J'avais déjà pensé à cette théorie, mais j'esperais à ne pas avoir à en arriver là pour éviter de bombarder la bdd dans le cas de plusieurs centaines de membres connectés simultanéments.
Je vais envisager cette théorie serieusement je pense...
Je ne comprend pas, comment font les autres sites de chat en ligne (qui ont des 'qui est en ligne' quasi temps réels aussi)...
|
Titre: Re:Detecter la fermeture d'Opera
Posté par: MarvinLeRouge le le 02-02-2011 a 16:42:03
| Ils ont forcément un stockage côté serveur de qui est connecté. |
Titre: Re:Detecter la fermeture d'Opera
Posté par: Freakz le le 02-02-2011 a 16:49:42
Bon bah j'ai fini par utiliser l'ajax.
Au lieu de détecter la fermeture du naviguateur, je passe par des requetes toutes les 5 secondes qui mettent à jour la base de données des membres en ligne.
Ca ne me plait pas trop mais bon, le serveur va se faire harceler de requetes.
Merci pour tes idées apportées.
Sujet [a moitié] résolu. |
Titre: Re:Detecter la fermeture d'Opera
Posté par: MarvinLeRouge le le 03-02-2011 a 12:55:30
| Toutes les 5 secondes ?!?! C'est un chouilla abusé quand même, non ? |
Titre: Re:Detecter la fermeture d'Opera
Posté par: Freakz le le 03-02-2011 a 13:31:46
| Ca permet le 'presque' temps réel. Mais ouai c'est un peu abbusé je reconnais. |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|