Wie der Titel sagt, würde ich gerne ein anderes onstatechange
-Ereignis durchführen können, wenn die pushState
-Funktion anstelle der back
-Funktion aufgerufen wird. Oder, wenn die Funktion go
negativ oder positiv ist.
Beispiel:
Wenn History.pushState()
oder History.go(1)
aufgerufen werden, möchte ich, dass der statechange
-Ereignis-Callback forwardPushState
Wenn History.back()
oder History.go(-1)
aufgerufen werden, möchte ich, dass der statechange
-Ereignis-Callback backwardsPushState
Ein Zustand sind einige Daten, die sich auf eine Seite beziehen (wie der Benutzer sie im Browser sieht). Wenn der Benutzer auf einer bestimmten Seite sein möchte, ist diese Seite die gleiche, entweder wenn er von einem Klick auf die Zurück-Taste oder von einem Klick auf die Vorwärts-Taste kommt, wie ich denke.
PushState drückt einen neuen Status im Stapel. Es hat keine Beziehung mit back
und go
. Back
und go
sind Funktionen, um über gestoßene Zustände im Stapel zu navigieren. Ich sage das, weil Sie in Ihrer Bearbeitung denken, dass Sie denken, dass pushState und go (1) gleichwertig sind.
Wenn Sie wissen möchten, aus welcher Richtung der Benutzer kommt, sollten Sie onstatechange
event analysieren, um zu wissen, ob ein Parameter zur Speicherung der Richtung erforderlich ist. Ich weiß immer noch nicht, wie ich es machen soll.
Hauptsache ich denke, dass es keine Beziehung mit dem go (-1)
oder go(1)
oder back
hat.
Vielleicht wird das für Sie funktionieren.
%Vor%Der obige Code erschwert die Verwendung der Zurück-Schaltfläche zum Laden dieser Seite.
Zweiter Versuch
Der folgende Code wurde von einem anderen Stapelüberlauf genommen.
Schaltfläche "Zurück" im Browser suchen
%Vor%}
Tags und Links javascript javascript-events html5-history browser-history history.js