我正在尝试学习历史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);
}
})
答案 0 :(得分:1)
您需要状态对象。在你的情况下,你使用一个空的对象将无法正常工作。只需测试一个像这样的对象:{“url”:yourUrlVar}