Нажми JavaScript, чтобы браузер вернулся на предыдущую страницу?

252

Есть ли функция, которую я могу добавить в качестве события нажатия кнопки, чтобы браузер вернулся на предыдущую страницу?

<input name="action" type="submit" value="Cancel"/>
Док Холидей
источник
7
window.history.back ()
Джон Стриклер

Ответы:

447

Добавьте это в ваш элемент ввода

<input
    action="action"
    onclick="window.history.go(-1); return false;"
    type="submit"
    value="Cancel"
/>
rogerlsmith
источник
52
Это не работает во всех браузерах для меня, мне пришлось сделать следующее. <input action="action" type="button" value="Back" onclick="window.history.go(-1); return false;" />Этот ответ довольно старый, поэтому это могло быть проблемой, представленной в более современных версиях браузеров. :)
ctrlplusb
4
Показывает ли это предыдущую страницу из кэша или перезагружает предыдущую страницу с сервера?
Адриен
7
Для чего эта action="action"часть? И это действительно HTML?
запрет геоинженерии
@Adrien - это javascript, поэтому он работает в браузере. Браузер должен повторно использовать кэшированную страницу (при условии, что настройки браузера и настройки заголовка http страницы позволяют это сделать).
ToolmakerSteve
Обратите внимание, что встроенный JS не должен использоваться в рабочей среде, потому что: 1. Код JS должен быть в выделенных и минимизированных .jsфайлах. 2. Встроенный JS должен быть отключен с помощью Политики безопасности содержимого для смягчения инъекций XSS
Theophany
120
history.back()

или

history.go(-1)

Поместите это в onclickручку кнопки . Это должно выглядеть так:

<input name="action" onclick="history.back()" type="submit" value="Cancel"/>
Вадим
источник
11
Поместите это в кнопку на ручке клика
Вадим
7
Вы могли бы быть более ясным, как дать ответ в коде
WowThatsLoud
3
Какая поддержка браузера на этом?
Коста
98

Для перехода на предыдущую страницу

Первый метод

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

Второй метод

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

если мы хотим сделать более одного шага назад, то увеличить

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.......
Ризван Гилл
источник
2
@JeromeJ - это ссылка, которая ничего не делает, если JavaScript не включен / не работает (по какой-либо причине) на странице. Если JavaScript работает, он возвращает браузер на одну страницу назад.
Джером Френч
14
<input name="action" type="submit" value="Cancel" onclick="window.history.back();"/> 
hspain
источник
12

Вам просто нужно позвонить следующее:

history.go(-1);
Рич О'Келли
источник
12

Самый короткий пока!

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

http://jsfiddle.net/qXrbx/

Я предпочитаю .go(-number)метод, так как для 1 или многих «задников» есть только 1 метод для использования / запоминания / обновления / поиска и т. Д.

Кроме того, использование тега для кнопки «назад» кажется более подходящим, чем теги с именами и типами ...

Майкл Даррант
источник
11

window.history.back ();

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

<script>
function goBack() {
    window.history.back();
}
</script>
Малик Халил
источник
8

Просто. Одна линия.

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

Как ответ Вима и Малика, но только в одной строке.

Андре Мескита
источник
Работает нормально, но часто, если пользователь решает изменить язык на определенной странице с помощью кнопки, подобной этой, кнопка «Назад» на предыдущую страницу переключит язык назад, а не на страницу ...
Marek Bernád
6

Это единственное, что работает во всех современных браузерах:

<script>
function goBack() {
    history.go(-1);
}
</script>
<button onclick="goBack()">Go Back</button>
Вим Мострей
источник
6

Работает на меня каждый раз

<a href="javascript:history.go(-1)">
    <button type="button">
        Back
    </button>
</a>
Манну Сарасват
источник