Если вы программист, то объяснять, что решение задачи зависит от поставленных условий, вам не нужно. Вы написали что нужна кнопка возврата, вам дали примеры.
Хотите добавить новые условия, нет проблем. Методы объекта History позволяют учитывать многие факторы.
Основные методы объекта History:
/* Количество записей в текущей сессии истории */
window.history.length:
/* Возвращает текущий объект истории */
window.history.state:
/* Метод, позволяющий гулять по истории. В качестве аргумента передается смещение, относительно текущей позиции.
Если передан 0, то будет обновлена текущая страница. Если индекс выходит за пределы истории, то ничего не произойдет. /*
window.history.go(n):
/* Метод, идентичный вызову go(-1) */
window.history.back():
/* Метод, идентичный вызову go(1) */
window.history.forward():
/* Добавляет элемент истории. */
window.history.pushState(data, title [, url]):
/* Обновляет текущий элемент истории */
window.history.replaceState(data, title [, url]):
Хотите учитывать количество переходов, используйте счетчик переходов и смещение
window.history.go(n):
Или как советывал coder
<input type="hidden" />