0

我正在尝试学习 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);
}
})
4

1 回答 1

1

你需要状态对象。在您的情况下,您使用一个空的对象将无法正常工作。只需使用这样的对象进行测试:{“url”:yourUrlVar}

参考:History.pushState - MDN

于 2016-01-14T19:54:29.480 回答