Comment savoir navigateur, le temps d'inactivité?
Comment puis-je suivre le navigateur, le temps d'inactivité? Je suis avec IE8.
Je ne suis pas à l'aide de toute la gestion de session et ne veulent pas de poignée sur le côté serveur.
- Comment voulez-vous atteindre session de gestion sans manipulation sur le serveur ?
Vous devez vous connecter pour publier un commentaire.
Ici est pur JavaScript moyen de suivre les temps d'inactivité et quand il atteindre la limite de faire une certaine action:
JS:
CSS:
HTML:
Ce code va attendre 60 secondes avant l'affichage d'alerte et de redirection, et toute action "réinitialiser" le comte de la souris sur le, déplacement de la souris ou appuyez sur une touche.
Il faut que le cross-navigateur que possible, et avant droite. Il a également en charge l'affichage du temps restant, si vous ajoutez un élément de votre page avec l'ID de
SecondsUntilExpire
.Le code ci-dessus devrait fonctionner correctement, a cependant plusieurs inconvénients, par exemple, il ne permet pas à d'autres événements à exécuter et ne prend pas en charge multiplier les onglets. Refactorisation de code qui incluent à la fois de ces est la suivante: (pas besoin de modifier le HTML)
La refonte du code ci-dessus est d'utiliser le stockage local de garder une trace de quand le compteur a été la dernière remise à zéro, et aussi le réinitialiser sur chaque nouvel onglet qui s'ouvre qui contient le code, puis le compteur sera le même pour tous les onglets, et la réinitialisation de l'un entraînera la remise à zéro de tous les onglets. Depuis Pile Extraits ne permettent pas de local de stockage, il est inutile d'en être l'hôte, donc je l'ai fait du violon:
http://jsfiddle.net/yahavbr/gpvqa0fj/3/
CheckIdleTime()
chaque seconde, vous pouvez simplement définir le délai d'attente de 60 secondes. Je suppose que vous ne pouvez pas afficher le temps restant, mais il est beaucoup plus simple. Votre solution est également un peu différent de ce que l'OP semble demander.if (confirm("Sure you want to leave?") { document.location.href = "logout.html"; }
.setInterval()
document.addEventListener('mousemove', callback, true)
etc. parce qu'il est à l'écoute de l'événement capture pas bouillonnement? Je pense que le code fourni aurait des problèmes si le code utilisateur appelle stopPropagation sur les événements utilisés dans l'extrait de code. developer.mozilla.org/en-US/docs/Web/API/EventTarget/...if (event.type === 'mousemove' && event.originalEvent.movementX === 0 && event.originalEvent.movementX === 0) return;
Espère que c'est ce que vous cherchez
jquery-idletimer-plugin
Trop tard pour répondre, mais cela peut aider quelqu'un d'écrire propre et pratique. C'est une solution idéale lorsque vous n'avez pas besoin de temps d'affichage de gauche pour la session expire. Bon d'ignorer
setInterval()
, qui ne cesse de l'exécution du script par le biais de l'application en cours d'exécution en temps.JS:
HTML:
Ici est une approche à l'aide de jquery que j'avais besoin de préserver l'existant, les événements de clavier sur le document.
J'ai aussi besoin de faire des choses différentes à différents moments d'inactivité, donc je l'ai enveloppé dans une fonction
J'avais besoin de quelque chose de similaire et a créé ce :https://github.com/harunurhan/idlejs
Simple, configurable et puissant dans un sens, sans aucune dépendance. Voici un exemple.
Vous pouvez également utiliser événement personnalisé cibles et les événements
(Écrit en caractères d'imprimerie et compilé es5)