Comment puis-je recharger automatiquement une page Web, s'il n'y a eu aucune activité sur la page pendant une période donnée?
javascript
ajax
Umar Adil
la source
la source
Réponses:
Si vous souhaitez actualiser la page s'il n'y a aucune activité, vous devez déterminer comment définir l'activité. Disons que nous actualisons la page toutes les minutes à moins que quelqu'un n'appuie sur une touche ou ne déplace la souris. Cela utilise jQuery pour la liaison d'événements:
la source
Cela peut être accompli sans javascript, avec cette méta-étiquette:
où content = "5" sont les secondes pendant lesquelles la page attendra jusqu'à ce qu'elle soit actualisée.
Mais vous avez dit que s'il n'y avait pas d'activité, de quel type d'activité s'agissait-il?
la source
setInterval
je pensais que cela devait être fait , si heureux de savoir que cela existe!J'ai également construit une solution javascript complète qui ne nécessite pas de jquery. Pourrait être en mesure de le transformer en plugin. Je l'utilise pour un rafraîchissement automatique des fluides, mais il semble que cela pourrait vous aider ici.
Actualisation automatique JSFiddle
la source
Ci-dessus actualisera la page toutes les 10 minutes sauf si resetTimeout () est appelé. Par exemple:
la source
Basé sur la réponse acceptée d'arturnt. Il s'agit d'une version légèrement optimisée, mais qui fait essentiellement la même chose:
La seule différence est que cette version utilise à la
setInterval
place desetTimeout
, ce qui rend le code plus compact.la source
1000
s'il calcule en utilisant60000
?Chaque fois que vous déplacez la souris, il vérifie la dernière fois que vous avez déplacé la souris. Si l'intervalle de temps est supérieur à 20 ', il rechargera la page, sinon il renouvellera la dernière fois que vous avez déplacé la souris.
la source
Rechargement automatique avec la cible de votre choix. Dans ce cas, la cible est
_self
définie sur elle-même, mais vous pouvez modifier la page de rechargement en changeant simplement lewindow.open('self.location', '_self');
code en quelque chose comme cet exemplewindow.top.location="window.open('http://www.YourPageAdress.com', '_self'";
.Avec un message ALERTE de confirmation:
Sans alerte de confirmation:
Le code corporel est le MÊME pour les deux solutions:
la source
utilisez la
setInterval
méthode JavaScript :la source
la source
Je considérerais
activity
si oui ou non l'utilisateur se concentre sur la fenêtre. Par exemple, lorsque vous cliquez d'une fenêtre à une autre (par exemple, Google Chrome vers iTunes, ou l'onglet 1 vers l'onglet 2 dans un navigateur Internet), la page Web peut envoyer un rappel disant "Je suis floue!" ou "Je suis au point!". On pourrait utiliser jQuery pour exploiter ce possible manque d'activité pour faire ce qu'ils veulent. Si j'étais à votre place, j'utiliserais le code suivant pour vérifier la mise au point toutes les 5 secondes, etc. et rechargerais si aucun focus.la source
Et enfin la solution la plus simple:
Avec confirmation d'alerte:
Sans confirmation d'alerte:
Le code corporel est le MÊME pour les deux solutions
la source
Avec un texte de confirmation sur la page au lieu d'une alerte
Puisqu'il s'agit d'une autre méthode de chargement automatique si inactif, je lui donne une deuxième réponse. Celui-ci est plus simple et plus facile à comprendre.
Avec confirmation de rechargement sur la page
Boîte de confirmation lors de l'utilisation avec sur la page de confirmation
Les codes corporels pour les deux sont les MÊMES
REMARQUE: Si vous ne souhaitez pas avoir la confirmation sur la page, utilisez Sans confirmation
la source
En utilisant LocalStorage pour garder une trace de la dernière heure d'activité, nous pouvons écrire la fonction de rechargement comme suit
Ensuite, nous créons une fonction de flèche qui enregistre le dernier temps d'interaction en millisecondes (String)
Nous devrons écouter l'
beforeunload
événement dans le navigateur pour effacer notrelastinteraction
enregistrement afin de ne pas rester coincé dans une boucle de rechargement infinie.Les événements d'activité des utilisateurs que nous devrons surveiller seraient
mousemove
etkeypress
. Nous stockons l'heure de la dernière interaction lorsque l'utilisateur déplace la souris ou appuie sur une touche du clavierPour configurer notre auditeur final, nous utiliserons l'
load
événement. Au chargement de la page, nous utilisons lasetInterval
fonction pour vérifier si la page a expiré après une certaine période.la source
Cette tâche est très facile à utiliser en suivant le code dans la section d'en-tête html
Il rafraîchira votre page après 30 secondes.
la source