Inhaltsverzeichnis
Klicken des Benutzers auf die Zurück-Schaltfläche in Browsern erkennen
Heim Web-Frontend js-Tutorial Wie erkennt man den Klick des Benutzers auf die Zurück-Schaltfläche in Browsern, ohne dass es zu Störungen beim Neuladen des Browsers kommt?

Wie erkennt man den Klick des Benutzers auf die Zurück-Schaltfläche in Browsern, ohne dass es zu Störungen beim Neuladen des Browsers kommt?

Oct 22, 2024 pm 02:41 PM

How to Detect User's Back Button Click in Browsers Without Browser Reload Interference?

Klicken des Benutzers auf die Zurück-Schaltfläche in Browsern erkennen

Beim Versuch, Klicks auf die Zurück-Schaltfläche zu erkennen, verlassen sich Entwickler häufig auf den Ereignis-Listener window.onbeforeunload. Dieses Ereignis wird jedoch nicht nur bei Klicks auf die Zurück-Schaltfläche ausgelöst, sondern auch beim Neuladen des Browsers, was irreführend sein kann.

Erkennen von Klicks auf die Zurück-Schaltfläche ohne Beeinträchtigung des Browser-Neuladens

Umzugehen Klicken Sie auf die Zurück-Schaltfläche ohne Fehlalarme. Erwägen Sie die Verwendung eines maßgeschneiderten Ansatzes:

  1. Verlaufsänderung:

    • Überprüfen Sie beim Laden der Seite, ob die Die API „history.pushState“ ist verfügbar.
    • Falls unterstützt, können Sie mithilfe von „history.pushState“ einen zufälligen Status in den Verlauf übertragen.
    • Definieren Sie einen Onpopstate-Ereignis-Listener, um Übergänge von Schaltflächen „Vorwärts“ und „Vorwärts“ zu verarbeiten.
  2. Hash-basierter Ansatz:

    • Wenn History.pushState nicht unterstützt wird, verwenden Sie das Hash-Änderungsereignis (window.onhashchange). .
    • Legen Sie einen anfänglichen Hash-Wert fest und prüfen Sie bei Hash-Änderungen, ob ein nicht zufälliger Hash-Wert vorliegt.
    • Verwenden Sie ein Flag, um sicherzustellen, dass nur vom Benutzer initiierte Hash-Änderungen die Logik der Zurück-Schaltfläche auslösen. Das Neuladen des Browsers wird ignoriert.

Implementierung

<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>
Nach dem Login kopieren

Kompatibilität

Dieser Ansatz Es wurde berichtet, dass es in Chrome und Firefox effektiv funktioniert.

Das obige ist der detaillierte Inhalt vonWie erkennt man den Klick des Benutzers auf die Zurück-Schaltfläche in Browsern, ohne dass es zu Störungen beim Neuladen des Browsers kommt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ersetzen Sie Stringzeichen in JavaScript Ersetzen Sie Stringzeichen in JavaScript Mar 11, 2025 am 12:07 AM

Ersetzen Sie Stringzeichen in JavaScript

Benutzerdefinierte Google -Search -API -Setup -Tutorial Benutzerdefinierte Google -Search -API -Setup -Tutorial Mar 04, 2025 am 01:06 AM

Benutzerdefinierte Google -Search -API -Setup -Tutorial

Beispielfarben JSON -Datei Beispielfarben JSON -Datei Mar 03, 2025 am 12:35 AM

Beispielfarben JSON -Datei

8 atemberaubende JQuery -Seiten -Layout -Plugins 8 atemberaubende JQuery -Seiten -Layout -Plugins Mar 06, 2025 am 12:48 AM

8 atemberaubende JQuery -Seiten -Layout -Plugins

10 JQuery Syntax Highlighters 10 JQuery Syntax Highlighters Mar 02, 2025 am 12:32 AM

10 JQuery Syntax Highlighters

Erstellen Sie Ihre eigenen AJAX -Webanwendungen Erstellen Sie Ihre eigenen AJAX -Webanwendungen Mar 09, 2025 am 12:11 AM

Erstellen Sie Ihre eigenen AJAX -Webanwendungen

Was ist ' this ' in JavaScript? Was ist ' this ' in JavaScript? Mar 04, 2025 am 01:15 AM

Was ist ' this ' in JavaScript?

10 JavaScript & JQuery MVC -Tutorials 10 JavaScript & JQuery MVC -Tutorials Mar 02, 2025 am 01:16 AM

10 JavaScript & JQuery MVC -Tutorials

See all articles