Webkit/Chrome history.back(-1) onclick vs href

Всем это известно, но я повторю проблему:

<a href="#" onClick="history.go(-1)">Back</a>

Не будет работать в браузерах на основе WebKit (Chrome, Safari, Mxthon и т.д.)

Другой подход (должен работать), который не будет работать:

<a href="#" onclick="javascript:window.history.back(-1);">Back</a>

Вы можете это сделать - работает! (но это показывает JS в подсказке url)

<a href="javascript:window.history.back(-1);">Back</a>

Чтобы использовать JS в событии onclick, вы можете сделать это (работает, но смотрите комментарии ниже):

<a onclick="javascript:window.history.back(-1);">Please try again</a>

Отсутствие href заставляет его работать, но тогда он не будет отображаться как ссылка на клики, вы можете применить css, чтобы он выглядел как ссылка, применить синий цвет, подчеркивание и руку курсора, но кто этого хочет?

Ответы

Ответ 1

Наконец, работающее решение, протестированное в IE, FF, Safari, Chrome, Opera, Maxthon:

<a href="#" onclick="window.history.back();return false;">Back</a>

Не забывайте точку с запятой после возврата false;

Ответ 2

Он работает даже history.go(-1) также...

Для Chrome, IE, Mozilla i, отлично работает. используйте ниже код:

<a href="#" onclick="history.go(-1);return false;" style="text-decoration:underline;">Back</a>

Ответ 3

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

<script>
function goBack() {
    history.go(-1);
}
</script>
<a onclick="goBack()">Back</a>