Wie man mit der Zurück-Schaltfläche umgeht, während man die Browser-URL mit HTML5 pushState ändert

Ich habe eine einseitige Website erstellt. Wenn der Benutzer auf die Menüschaltflächen klickt, wird der Inhalt mit Ajax geladen. Es funktioniert gut. Um die Suchmaschinenoptimierung zu verbessern und es dem Benutzer zu ermöglichen, URLs mit unterschiedlichen Inhalten zu kopieren / zu kopieren, verwende ich

function show_content() {
        // change URL in browser bar)
        window.history.pushState("", "Content", "/content.php");
        // ajax
        $content.load("ajax/content.php?id="+id);
}

Es funktioniert gut. Die URL wird geändert und der Browser lädt die Seite nicht neu

Wenn der Benutzer jedoch im Browser auf die Schaltfläche "Zurück" klickt, ändert sich die URL und der Inhalt muss geladen werden.

Ich habe das getan und es funktioniert:

 window.onpopstate = function(event) {
        if (document.location.pathname == '/4-content.php') {
            show_content_1();
        }
        else if (document.location.pathname == '/1-content.php') {
            show_content_2();
        }
        else if (document.location.pathname == '/6-content.php') {
            show_content_();
        }
    };

Wissen Sie, ob es eine Möglichkeit gibt, diesen Code zu verbessern?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage