Popstate не работает должным образом (требуется несколько кликов)
Я пытаюсь изучить History Web API, но у меня уже есть проблемы с первого раза.
Я могу получить history.pushState
работает, но есть проблемы с popstate
, Работает нормально при первом нажатии после AJAX
загрузка страницы, но если я загружаю ту же самую страницу снова, мне нужно дважды нажать кнопку назад. Если я загружу его еще раз, мне нужно будет нажать три раза назад и так далее.
Вот мой код:
$(function(){
var $main = $('#main');
$(window).on('popstate', function () {
loadPage(location.href);
});
$(document).on('click', 'a', function(){
var href = $(this).attr('href');
history.pushState({}, '', href);
loadPage(href);
return false;
})
loadPage = function(href){
$main.load(href);
}
})
1 ответ
Вам нужен государственный объект. В вашем случае вы используете пустой объект, который не будет работать неправильно. Просто протестируйте с Объектом, подобным этому: {"url":yourUrlVar}
Ссылка: History.pushState - MDN