addPushState()实现添加记录,oppopstate()每次点击前进后退按钮执行。
addPushState()要在每次执行完方法后执行,因为oppopstate()会弹出最后一个,此时history.state已经是倒数第二个。
function addPushState() {
var obj = { tab_tit: $(".tab_tit").html(), news_list02: $(".news_list02").html(), page_div: $("#page_div").html() };
// IE浏览器要给第三个参数附地址,否则url后的参数会被抹去。
history.pushState(obj,null,"");
}
window.addEventListener("popstate", function(e) {
var currentState = history.state;
if (currentState) {
$(".tab_tit").html(currentState.tab_tit);
$(".news_list02").html(currentState.news_list02);
$("#page_div").html(currentState.page_div);
} else {
// 当堆栈谈完后会返回null,导致不能返回location.href过来的上一页,需要在执行一次history.back();
history.back();
}
})
单页程序前进、后退的实现
最新推荐文章于 2023-10-18 10:23:49 发布