Maison > interface Web > js tutoriel > Comment détecter les clics sur le bouton Retour dans un navigateur ?

Comment détecter les clics sur le bouton Retour dans un navigateur ?

DDD
Libérer: 2024-10-22 14:02:02
original
990 Les gens l'ont consulté

How Can You Detect Back Button Clicks in a Browser?

Détecter le clic sur le bouton Retour dans le navigateur

Pour suivre les événements de navigation des utilisateurs, l'écouteur d'événements window.onbeforeunload peut être utilisé. Cependant, cet événement se déclenche non seulement lorsque le bouton Précédent est enfoncé, mais également lors de l'actualisation ou du rechargement de la page.

Solution :

Pour résoudre ce problème, le code suivant utilisant l'événement window.onload peut être utilisé :

window.onload = function () {
    if (typeof history.pushState === "function") {
        history.pushState("jibberish", null, null);
        window.onpopstate = function () {
            history.pushState('newjibberish', null, null);
            // Handle back/forward navigation here
        };
    }
    else {
        var ignoreHashChange = true;
        window.onhashchange = function () {
            if (!ignoreHashChange) {
                ignoreHashChange = true;
                window.location.hash = Math.random();
                // Handle hash change navigation here
            }
            else {
                ignoreHashChange = false;
            }
        };
    }
}
Copier après la connexion

Cette solution fait la distinction entre la navigation arrière et d'autres événements comme l'actualisation et les rechargements, offrant une gestion précise des clics sur le bouton retour. Il fonctionne correctement dans les navigateurs tels que 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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal