Klicken Sie auf Javascript, damit der Browser zur vorherigen Seite zurückkehrt?

252

Gibt es eine Funktion, die ich als Klickereignis einer Schaltfläche anhängen kann, damit der Browser zur vorherigen Seite zurückkehrt?

<input name="action" type="submit" value="Cancel"/>
Doc Holiday
quelle
7
window.history.back ()
John Strickler

Antworten:

446

Fügen Sie dies in Ihr Eingabeelement ein

<input
    action="action"
    onclick="window.history.go(-1); return false;"
    type="submit"
    value="Cancel"
/>
rogerlsmith
quelle
52
Dies funktioniert bei mir nicht in allen Browsern. Ich musste Folgendes tun. <input action="action" type="button" value="Back" onclick="window.history.go(-1); return false;" />Diese Antwort ist ziemlich alt, daher könnte es sich um ein Problem handeln, das in moderneren Versionen von Browsern eingeführt wurde. :)
ctrlplusb
4
Zeigt dies die vorherige Seite aus dem Cache an oder lädt die vorherige Seite vom Server neu?
Adrien
7
Wofür ist der action="action"Teil? Und ist es gültig HTML?
Ban-Geoengineering
@Adrien - sein Javascript, also läuft es im Browser. Der Browser sollte die zwischengespeicherte Seite wiederverwenden (vorausgesetzt, die Browsereinstellungen und die Einstellungen für den http-Header der Seite erlauben dies).
ToolmakerSteve
Beachten Sie, dass Inline-JS nicht in der Produktion verwendet werden sollte, weil: 1. JS-Code in dedizierten und minimierten .jsDateien enthalten sein sollte 2. Inline-JS durch eine Inhaltssicherheitsrichtlinie deaktiviert werden sollte, um XSS-Injektionen zu verringern
Theophany
120
history.back()

oder

history.go(-1)

Legen Sie dies auf den Knopfgriff onclick. Es sollte so aussehen:

<input name="action" onclick="history.back()" type="submit" value="Cancel"/>
Vadim
quelle
11
Setzen Sie dies auf die Schaltfläche onClick handle
Vadim
7
Sie könnten klarer sein, als die Antwort im Code zu geben
WowThatsLoud
3
Was ist die Browserunterstützung dafür?
Costa
98

Zum Aufrufen der vorherigen Seite

Erste Methode

<a href="javascript: history.go(-1)">Go Back</a>

Zweite Methode

<a href="##" onClick="history.go(-1); return false;">Go back</a> 

Wenn wir mehr als einen Schritt zurück wollen, dann erhöhen Sie

For going 2 steps back history.go(-2)
For going 3 steps back history.go(-3)
For going 4 steps back history.go(-4)
and so on.......
Rizwan Gill
quelle
2
@ JeromeJ Es ist ein Link, der nichts bewirkt, wenn JavaScript auf der Seite nicht aktiviert ist / funktioniert (aus welchem ​​Grund auch immer). Wenn JavaScript funktioniert, nimmt der Browser eine Seite zurück.
Jeromy French
14
<input name="action" type="submit" value="Cancel" onclick="window.history.back();"/> 
hspain
quelle
12

Sie müssen nur Folgendes anrufen:

history.go(-1);
Rich O'Kelly
quelle
12

Am kürzesten noch!

<button onclick="history.go(-1);">Go back</button>

http://jsfiddle.net/qXrbx/

Ich bevorzuge die .go(-number)Methode, da es für 1 oder viele 'Backs' nur 1 Methode gibt, die verwendet / erinnert / aktualisiert / gesucht werden kann usw.

Außerdem scheint die Verwendung eines Tags für eine Zurück-Schaltfläche geeigneter zu sein als Tags mit Namen und Typen ...

Michael Durrant
quelle
11

window.history.back ();

<button onclick="goBack()">Go Back</button>

<script>
function goBack() {
    window.history.back();
}
</script>
Malik Khalil
quelle
8

Einfach. Eine Linie.

<button onclick="javascript:window.history.back();">Go Back</button>

Wie die Antwort von Wim und Malik, aber nur in einer Zeile.

Andre Mesquita
quelle
Funktioniert gut, aber oft, wenn der Benutzer beschließt, die Sprache auf einer bestimmten Seite mit dieser Schaltfläche zu ändern, wird die Sprache durch die Schaltfläche "Zurück" zur vorherigen Seite anstelle der Seite zurückgesetzt ...
Marek Bernád
6

Dies ist das einzige, was in allen aktuellen Browsern funktioniert:

<script>
function goBack() {
    history.go(-1);
}
</script>
<button onclick="goBack()">Go Back</button>
Wim Mostrey
quelle
6

Funktioniert immer für mich

<a href="javascript:history.go(-1)">
    <button type="button">
        Back
    </button>
</a>
Mannu Saraswat
quelle