修改history记录的几种方式

271 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

修改history方式

  • location.replace

  • location.href = window.location.hash =

  • History.pushState:向当前浏览器会话的历史堆栈中添加一个状态(state) 功能与location.href =基本相同 区别:(1)请注意,浏览器不会在调用 pushState() 后尝试加载此 URL,但它可能会稍后尝试加载 URL,例如在用户重新启动浏览器之后。window.location.href = "url"将浏览器导航到新位置,因此它确实会发出新的 http 请求。注意:当您将新 url 指定为哈希片段时,情况除外。然后窗口只是滚动到相应的锚点 pushState()方法绝不会导致hashchange 事件被激活,就算新的URL和旧的只在hash上有区别。

  • History.replaceState 向当前浏览器会话的历史堆栈中添加一个状态(state)