Heim  >  Artikel  >  Web-Frontend  >  Wie können Sie Klicks auf die Zurück-Schaltfläche in einem Browser erkennen?

Wie können Sie Klicks auf die Zurück-Schaltfläche in einem Browser erkennen?

DDD
DDDOriginal
2024-10-22 14:02:02900Durchsuche

How Can You Detect Back Button Clicks in a Browser?

Klicken auf die Schaltfläche „Zurück“ im Browser erkennen

Um Benutzernavigationsereignisse zu verfolgen, kann der Ereignis-Listener window.onbeforeunload eingesetzt werden. Dieses Ereignis wird jedoch nicht nur ausgelöst, wenn die Zurück-Taste gedrückt wird, sondern auch während der Seitenaktualisierung oder des Neuladens.

Lösung:

Um dieses Problem zu beheben, verwenden Sie den folgenden Code Das window.onload-Ereignis kann verwendet werden:

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;
            }
        };
    }
}

Diese Lösung unterscheidet zwischen der Zurück-Navigation und anderen Ereignissen wie Aktualisieren und Neuladen und bietet eine präzise Handhabung von Zurück-Button-Klicks. Es funktioniert reibungslos in Browsern wie Chrome und Firefox.

Das obige ist der detaillierte Inhalt vonWie können Sie Klicks auf die Zurück-Schaltfläche in einem Browser erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn