Es gibt keinen Cross-Browser-Ansatz, dies zu erreichen. Document.Referrer kann auch gesetzt werden, wenn kein History-Eintrag existiert.
Ich kam mit dem folgenden "Hack". Es verwendet das onbeforeunload-Ereignis, um zu erkennen, ob der Browser die Seite verlässt oder nicht. Wenn es nicht in einer bestimmten Zeitspanne passiert, wird es nur zum Fallback umleiten.
window.goBack = function goBack(fallback){
var useFallback = true;
window.onbeforeunload = function(){
useFallback = false;
}
window.history.back();
setTimeout(function(){
if (useFallback){ window.location.href = fallback; }
}, 100);
}
können Sie diese Funktion aufrufen goBack("fallback.example.org")
verwenden. Ein Anwendungsfall ist, dass Sie eine beliebige Seite mit einer Zurück-Schaltfläche versehen möchten und sicherstellen möchten, dass diese Zurück-Schaltfläche auch dann funktioniert, wenn der Benutzer direkt auf diese Seite zugreift (z. B. durch Lesezeichen, Direktverknüpfung usw.)).
Also entweder führt es eine history.back() oder wenn es keinen Eintrag gibt, wird es zu einem Fallback umleiten.
Mögliches Duplikat von [Wie überprüft man, ob der Benutzer in die Browserhistorie zurückkehren kann oder nicht] (http://stackoverflow.com/questions/3588315/how-to-check-if-the-user-can-go -Back-in-Browser-Geschichte-oder-nicht) – bummi