Ich habe eine einfache Funktion gemacht, die alle Container wie Link ("a" -Element) verhält.
%Vor%Funktion funktioniert großartig. Anstatt auf die Schaltfläche "Mehr" zu klicken, kann der Benutzer überall auf den Container klicken und wird ordnungsgemäß umgeleitet.
Wenn jedoch der Benutzer nach der Umleitung auf die Schaltfläche "Zurück" klickt, wird der Browser zwei Schritte statt einer wie gewünscht ausgeführt. Was komischer ist, Geschichte sieht OK.
Einfaches Schema zur besseren Beschreibung:
Seite1 - & gt; Seite2
Seite2 [Benutzer klickt auf "allHot" Container] - & gt; allHot leitet zu Page3
weiterSeite3 [Der Benutzer klickt auf den Zurück-Button des Browsers] - & gt; Seite 1
Dies ist ein großer Fehler für die Webseite, an der ich gerade arbeite. Ich habe keine Ahnung, um das zu verhindern. Fehler in Firefox, Chrome und Opera getestet.
Getestet auch auf Opera "kein JavaScript-Modus". Wenn JavaScript deaktiviert ist, tritt das Problem nicht auf.
Vielen Dank im Voraus für einen Hinweis oder eine Lösung.
Hinzufügen zu MarcoKs Antwort.
Wenn Sie replace
verwenden, ersetzen Sie den Verlaufsstatus, sodass Sie keinen weiteren Status in den Verlauf verschieben.
Wenn Sie Folgendes haben:
Page1
bis State1
Page2
bis State2
und dann verwenden Sie ersetzen ersetzen Sie Page3
bis State2
.
Wenn du die Zurück-Taste drückst, gehst du von State2
zu State1
und deshalb gehst du zu Page1
.
Wenn Sie window.location.href
verwenden, fügen Sie einen weiteren Status hinzu, so dass Page3
auf State3
gesetzt wird und wenn Sie auf die Zurück-Schaltfläche klicken, gehen Sie zu State2
mit Page2
als URL.
Tags und Links javascript jquery google-chrome firefox opera