Я использую history.pushState
для изменения содержимого страницы с запросом ajax
.Как вернуться в предыдущее состояние, когда нажата кнопка «Назад»
И очень точно, что после history.pushState
в браузере отключена кнопка «Вперед», поэтому любая кнопка, которая будет нажата, будет кнопкой «Назад».
Так что я хочу вернуться к основному состоянию страницы перед pushState. Я использую запрос ajax для извлечения содержимого основного состояния, но проблема в том, что как заставить URL-адрес в браузере вернуться к основному URL-адресу. Я не хочу использовать метод pushState для этого из-за некоторых проблем.
Я увеличиваю значение на один после успеха ajax в другом, чтобы знать, как далеко у меня есть pushState.
var mainState;
var pushed = false;
$('a').click(function(){
$.ajax({
url: "/path/to/content",
success: function(data){
$('div').html(data);
history.pushState('state', 'title', 'url');
mainState ++;
pushed = true;
}
})
})
window.onpopstate(function(){
if(pushed){ //knowing fully well that the forward button is disabled
// take it back to the main state
history.go(-mainState);
}
})
Скажем mainState это 3 и я нажимаю кнопку назад, вместо того, чтобы идти к mainState он принимает меня mainState - 3.
Пожалуйста, кто-нибудь знаю, что могу это сделать?