Короткий ответ: Вы не можете.
Технически есть точный способ проверки свойства:
history.previous
Однако это не сработает. Проблема в том, что в большинстве браузеров это считается нарушением безопасности и обычно просто возвращает undefined.
history.length
Это свойство, предложенное другими...
Однако, длина не работает полностью, потому что она не указывает где в истории вы находитесь. Кроме того, он не всегда начинается с одного и того же числа. Браузер, для которого не настроена целевая страница, например, начинается с 0, а другой браузер, использующий лендинговую страницу, начинается с 1.
В большинстве случаев добавляется ссылка, вызывающая:
history.back();
или
history.go(-1);
и просто ожидается, что если вы не можете вернуться, то нажатие на ссылку ничего не делает.
Я не уверен, что это работает, и это полностью не проверено, но попробуйте это:
<script type="text/javascript">
function goBack() {
history.back();
}
if (history.length > 0) { //if there is a history...
document.getElementsByTagName('button')[].onclick="goBack()"; //assign function "goBack()" to all buttons onClick
} else {
die();
}
</script>
И где-нибудь в HTML:
<button value="Button1"> //These buttons have no action
<button value="Button2">
Что вы также можете сделать, так это изучить, какие браузеры поддерживают функцию возврата (я думаю, что все они поддерживают), и использовать стандартный объект обнаружения браузера JavaScript, найденный и подробно описанный на этой странице. Тогда у вас может быть 2 разные страницы: одна для «хороших браузеров», совместимая с кнопкой «Назад», и одна для «плохих браузеров», предлагающая им обновить свой браузер
.