Onclick javascript, aby przeglądarka wróciła do poprzedniej strony?

252

Czy istnieje funkcja, którą mogę dołączyć jako zdarzenie kliknięcia przycisku, aby przeglądarka powróciła do poprzedniej strony?

<input name="action" type="submit" value="Cancel"/>
Doc Holiday
źródło
7
window.history.back ()
John Strickler

Odpowiedzi:

446

Dodaj to do elementu wejściowego

<input
    action="action"
    onclick="window.history.go(-1); return false;"
    type="submit"
    value="Cancel"
/>
Rogerlsmith
źródło
52
To nie działa we wszystkich przeglądarkach, musiałem wykonać następujące czynności. <input action="action" type="button" value="Back" onclick="window.history.go(-1); return false;" />Ta odpowiedź jest dość stara, więc mógł to być problem wprowadzony do bardziej nowoczesnych wersji przeglądarek. :)
ctrlplusb
4
Czy to pokazuje poprzednią stronę z pamięci podręcznej lub ponownie ładuje poprzednią stronę z serwera?
Adrien
7
Po co ta action="action"część? I czy to jest poprawny HTML?
zakaz geoinżynierii
@Adrien - jego javascript, więc działa w przeglądarce. Przeglądarka powinna ponownie użyć strony z pamięci podręcznej (zakładając, że pozwalają na to ustawienia przeglądarki i ustawienia nagłówka http strony).
ToolmakerSteve
Należy pamiętać, że wbudowanego JS nie należy używać w środowisku produkcyjnym, ponieważ: 1. Kod JS powinien znajdować się w dedykowanych i zminimalizowanych .jsplikach. 2. Wewnętrzny JS powinien być wyłączony poprzez Politykę bezpieczeństwa treści, aby złagodzić zastrzyki XSS
Theophany
120
history.back()

lub

history.go(-1)

Umieść to w onclickuchwycie przycisku . To powinno wyglądać tak:

<input name="action" onclick="history.back()" type="submit" value="Cancel"/>
Vadim
źródło
11
Umieść to pod przyciskiem na uchwycie ClickClick
Vadim,
7
Możesz być bardziej zrozumiały, jak udzielenie odpowiedzi w kodzie
WowThatsLoud
3
Jaka jest w tym obsługa przeglądarki?
Costa
98

Aby przejść do poprzedniej strony

Pierwsza metoda

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

Druga metoda

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

jeśli chcemy zrobić więcej niż jeden krok wstecz, zwiększ

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
źródło
2
@JeromeJ to link, który nic nie robi, jeśli JavaScript nie jest włączony / działa (z jakiegokolwiek powodu) na stronie. Jeśli JavaScript działa, przeglądarka przechodzi o jedną stronę wstecz.
Jeromy francuski
14
<input name="action" type="submit" value="Cancel" onclick="window.history.back();"/> 
hspain
źródło
12

Wystarczy zadzwonić pod następujący numer:

history.go(-1);
Rich O'Kelly
źródło
12

Najkrótszy jeszcze!

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

http://jsfiddle.net/qXrbx/

Wolę tę .go(-number)metodę jak wtedy, dla 1 lub wielu zwrotów jest tylko jedna metoda do użycia / zapamiętania / aktualizacji / wyszukiwania itp.

Ponadto użycie tagu dla przycisku Wstecz wydaje się bardziej odpowiednie niż tagi z nazwami i typami ...

Michael Durrant
źródło
11

window.history.back ();

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

<script>
function goBack() {
    window.history.back();
}
</script>
Malik Khalil
źródło
8

Prosty. Jedna linia.

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

Podobnie jak odpowiedź Wima i Malika, ale tylko w jednej linii.

Andre Mesquita
źródło
Działa dobrze, ale często, jeśli użytkownik zdecyduje się zmienić język na określonej stronie za pomocą tego przycisku, przycisk powrotu do poprzedniej strony spowoduje cofnięcie języka zamiast strony ...
Marek Bernád
6

Jest to jedyna rzecz, która działa we wszystkich obecnych przeglądarkach:

<script>
function goBack() {
    history.go(-1);
}
</script>
<button onclick="goBack()">Go Back</button>
Wim Mostrey
źródło
6

Działa dla mnie za każdym razem

<a href="javascript:history.go(-1)">
    <button type="button">
        Back
    </button>
</a>
Mannu saraswat
źródło