解决方案

 mounted() {
history.pushState(null, null, document.URL)
window.addEventListener('popstate', () => {
history.pushState(null, null, document.URL)
})
},
destroyed(){
window.removeEventListener("popstate",() => {
history.pushState(null, null, document.URL)
}, false);
}

说明

history.pushState(state, title, url)

方法向当前浏览器会话的历史堆栈中添加一个状态(state)。

  • state: 状态对象可以是任何可以序列化的对象。
  • title: 当前大多数浏览器都忽略此参数,尽管将来可能会使用它。
  • url: 新历史记录条目的 URL 由此参数指定。如果未指定此参数,则将其设置为文档的当前 URL。

更多 history 的介绍参考:MDN(history)

popstate事件

传送门

当活动历史记录条目更改时,将触发 popstate 事件。如果被激活的历史记录条目是通过对history.pushState()的调用创建的,或者受到对history.replaceState()的调用的影响,popstate事件的state属性包含历史条目的状态对象的副本。

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

最新文章

  1. 最近打算体验一下discuz,有不错的结构化数据插件
  2. SharePoint 2013 Nintex Workflow 工作流帮助(一)
  3. OpenGL4-绘制旋转的立方体
  4. 开源消息总线ActiveMQ
  5. 浅谈C中的指针和数组(一)
  6. linux下zookeeper 配置参数
  7. 直播二:iOS中硬编码(VideoToolBox)
  8. MySQL乐观锁为什么可以防止并发
  9. flutter-fluro
  10. Response.AddHeader小结
  11. scala字符串前加s使用$
  12. python中的expandtabs、\t
  13. 内核 platform_get_resource() 函数解析
  14. 开启笔记本win7的虚拟热点笔记本变成wifi
  15. Java内存模型-final域的内存语义
  16. WEP保护帧移除工具airdecloak-ng
  17. shell格式化字符串
  18. 第三课 操作系统开发之x86模拟环境搭建
  19. 获取url中?后面传递的参数
  20. Mysql数据操作《一》数据的增删改

热门文章

  1. mysql 添加远程访问
  2. 启动jemeter 报错相关解决方案
  3. 深入浅出WPF-10.Resource(资源)
  4. ubuntu Nginx+tomcat 部署web项目
  5. 极简SpringBoot指南-Chapter03-基于SpringBoot的Web服务
  6. bzoj2242,洛谷2485----SDOI2011计算器(exgcd,qsm,bsgs模板)
  7. Linux系统安装MySql5.7并通过sql脚本导入数据
  8. Django开发个人博客入门学习经验贴
  9. Golang通脉之包的管理
  10. HCNP Routing&Switching之BGP路由宣告