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.
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.
J'ai obtenu cette erreur, pouvez-vous l'expliquer davantage ? Erreur de type non détectée : Impossible de lire la propriété 'currentTarget' d'undefined.
2 => TYPE_BACK_FORWARD La page a été accédée en naviguant dans l'historique. developer.mozilla.org/fr/US/docs/Web/API/PerformanceNavigation
J'ai trouvé des informations ici Javascript détectant le rafraîchissement de la page . Sa première recommandation est d'utiliser des champs cachés, qui ont tendance à être conservés lors des rafraîchissements de page.
function checkRefresh() {
if (document.refreshForm.visited.value == "") {
// This is a fresh page load
document.refreshForm.visited.value = "1";
// You may want to add code here special for
// fresh page loads
} else {
// This is a page refresh
// Insert code here representing what to do on
// a refresh
}
}
<html>
<body onLoad="JavaScript:checkRefresh();">
<form name="refreshForm">
<input type="hidden" name="visited" value="" />
</form>
</body>
</html>
Nous pouvons également vérifier en contrôlant Referer
et modifier la réponse du serveur en fonction de cette propriété.
Remarque : la première méthode indiquée sur cette page échouera parce que le code est exécuté avant que le DOM n'ait été analysé. En déplaçant le <script>
vers le bas fonctionnerait, mais ce n'est toujours pas une solution garantie (pas plus que la méthode des cookies).
@Adeel : vérification Referer
n'est pas non plus fiable ; de nombreux proxys et extensions de navigateur le suppriment des requêtes.
Voici une méthode qui est prise en charge par presque tous les navigateurs :
if (sessionStorage.getItem('reloaded') != null) {
console.log('page was reloaded');
} else {
console.log('page was not reloaded');
}
sessionStorage.setItem('reloaded', 'yes'); // could be anything
Il utilise SessionStorage pour vérifier si la page est ouverte la première fois ou si elle est rafraîchie.
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.
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.
1 votes
@Ahmed J'essaie de faire la même chose. L'une des solutions ci-dessous a-t-elle fonctionné pour vous ?
3 votes
window.performance.navigation.type
est déprécié, voir ma réponse .