梗概:

window.location.pathname//获取/路径字段 
history.back() 
history.go() 
history.forward()//完成后退前进等操作 
history.pushState();// 添加新的状态到历史状态栈 
history.replaceState() // 用新的状态代替当前状态 
history.state // 返回当前状态对象

语法:

1. pushState()和replaceState():

history.pushState() 和 history.replaceState() 均接收三个参数(state, title, url)

  1. state:合法的 Javascript 对象,可以用在 popstate 事件中
    1. 一般为null
  2. title:现在大多浏览器忽略这个参数,可以直接用 null 代替
  3. url:任意有效的 URL,用于更新浏览器的地址栏

2. popstate事件

当活动历史记录条目更改时,将触发popstate事件。

2.1. 注意:

  1. 调用history.pushState()或history.replaceState()不会触发popstate事件。
    1. 只有在做出浏览器动作时,才会触发该事件,
      1. 如用户点击浏览器的回退按钮(或者在Javascript代码中调用history.back()或者history.forward()方法)。