window.history.pushState不会返回历史

我在尝试使用history.pushstate事件时遇到了一些问题。我进行了设置,以使页面的url是通过AJAX加载的页面的实际URL,并且可以正常工作。

我了解它应该自动创建历史记录,以加载先前加载的页面。不幸的是,帽子没有发生,当我单击后退时,URL确实会更改,但页面不会更改。你能帮助我吗?这是我的简化代码:

    function hijackLinks() {

$('a').live("click", function (e) {

e.preventDefault();

loadPage(e.target.href);

direction = $(this).attr('class');

});

}

function loadPage(url) {

if (url === undefined) {

$('body').load('url', 'header:first,#content,footer', hijackLinks);

} else {

$.get(url, function (data) {

$('body').append(data);

window.history.pushState(url, url, url);

if (direction === "leftnav") {

//DO STUFF

}

if (direction !== "leftnav") {

//DO STUFF

}

setTimeout(function () {

//DO STUFF

},1000);

});

}

}

$(document).ready(function () {

loadPage();

});

回答:

想通了,我刚刚添加:

    window.addEventListener("popstate", function(e) {

loadPage(location.pathname);

});

到页面末尾

以上是 window.history.pushState不会返回历史 的全部内容, 来源链接: utcz.com/qa/431648.html

回到顶部