294 votes

Vérifier si la page est rechargée ou rafraîchie en JavaScript

Je veux vérifier quand quelqu'un essaie de rafraîchir une page.

Par exemple, lorsque j'ouvre une page, rien ne se passe, mais lorsque je rafraîchis la page, une alerte doit s'afficher.

1 votes

Pas vraiment possible sans code côté serveur. Pourquoi en avez-vous besoin ? Si vous nous donnez une vue d'ensemble, nous pourrons peut-être vous proposer une meilleure solution.

0 votes

Peut-être que vous pourriez faire une telle chose avec un cookie... comme stocker l'heure et sur le rechargement comparer la différence de temps.

0 votes

Je veux faire en sorte que le lien facebook soit #!/n'importe quoi. Je veux supprimer le # ! lorsque la page se recharge uniquement.

0voto

sam ruben Points 21

Ajouter le script ci-dessous dans la console :

window.addEventListener("beforeunload", function(event) { 
     console.log("The page is redirecting")           
     debugger; 
});

1 votes

Même en ajoutant load vérifiera rapidement si la page a été rechargée ou non.

-1voto

<script>

    var currpage    = window.location.href;
    var lasturl     = sessionStorage.getItem("last_url");

    if(lasturl == null || lasturl.length === 0 || currpage !== lasturl ){
        sessionStorage.setItem("last_url", currpage);
        alert("New page loaded");
    }else{
        alert("Refreshed Page");  
    }

</script>

-5voto

zearth Points 58

Essayez-vous de rafraîchir votre page automatiquement ? Une chose simple que vous pouvez faire est d'utiliser JavaScript.

Ce code devrait fonctionner.

<!DOCTYPE html> 
<html lang='en'> 
<head> 
<meta charset='utf-8' /> 
<title>Refresh Page</title>
<script type="text/javascript">

function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}
</script>
</head>
<!--// n-000 in miliseconds, where n is integer \\-->     
<body onload="timedRefresh(7000);">
    <h1>Refresh Page</h1>
    <p id="shortdesc">This site refreshes automatically.</p>
</body>
</html>

-5voto

Vasukipriya K N Points 15
 document.addEventListener("keydown", (e)=>{
   if (e.keyCode === 116) {
     e.preventDefault();

      // your code here
      // var r = confirm("Reload!");
      // if (r == true)
      //  window.location.reload();
   }
 })
  1. Ici, nous avons utilisé l'écouteur d'événement 'keydown' parce que les touches F1 - F12 ne sont pas disponibles sur les navigateurs pour 'keypress'.
  2. 116 est le code pour 'F5'. Vérifiez ici
  3. preventDefault()' arrête la fonction par défaut de la touche pressée. Ici, il arrête le rafraîchissement direct lorsque la touche F5 est enfoncée.
  4. Puis ajoutez votre code.
  5. Lorsque l'alerte est confirmée, 'location.reload()' rechargera la page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X