Lorsqu'ils tentent de détecter les clics sur le bouton Précédent, les développeurs s'appuient souvent sur l'écouteur d'événement window.onbeforeunload. Cependant, cet événement se déclenche non seulement pour les clics sur le bouton Précédent, mais également pour les rechargements du navigateur, ce qui peut être trompeur.
Détection des clics sur le bouton Précédent sans interférence de rechargement du navigateur
Pour gérer clics sur le bouton retour sans faux positifs, pensez à utiliser une approche sur mesure :
Modification de l'historique :
Approche basée sur le hachage :
Mise en œuvre
<code class="javascript">window.onload = function () { if (typeof history.pushState === "function") { history.pushState("jibberish", null, null); window.onpopstate = function () { history.pushState('newjibberish', null, null); // Handle back button click here }; } else { var ignoreHashChange = true; window.onhashchange = function () { if (!ignoreHashChange) { ignoreHashChange = true; window.location.hash = Math.random(); // Handle back button click here } else { ignoreHashChange = false; } }; } }</code>
Compatibilité
Cette approche il a été signalé qu'il fonctionnait efficacement dans Chrome et Firefox.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!