既然能看到这个帖子说明你碰到这个问题了,使用Ajax异步请求后浏览器不知道用户操作了那些,不可以前进后退,最关键是不是收藏和分享,因为地址栏一直没有修改过。
不闲扯,上干货,代码很简单,就是通过浏览器提供的api将 url put进浏览器历史记录就好啦。
一、将地址put进浏览器历史记录
var stateObject = {"data":window.location.search}; //浏览器的上一次参数信息
var title; //标题(一般就忽略了)
var newUrl = window.location.pathname+"?page="+page+"&thirdGenreId="+thirdGenreId; //最关键部分,新的浏览器地址,执行下面操作这个地址会显示到浏览器地址栏
history.pushState(stateObject,title,newUrl);//共三个参数
二、给页面的前进后退绑定事件,这样前进后退页面才会有反应
//前进后退绑定事件
window.addEventListener("popstate", function() {
//下面注释的两句写的是获取当前(后退后的)地址栏的参数和请求路径,进行一次重定向,但是后来发现了一个好方法,用reload方法可以刷新当前页面 2333;
//var currentState = window.location