问题:

我在写移动端的时候碰见了一个问题,有一个页面可以点击下一条,这样就会无限的跳转路由,此时就需要忘记路由记录,返回的时候回到跳进当前页面的页面。

解决:

起初,我直接使用的vue的router的replace,但因此又出现了问题,使用this.$router.replace时,路由记录的确没了, 但在手机上使用手势导航返回,会出现无法返回,手势导航会根据replace跳转的次数,手势导航返回就要几次

因此 ,我监听了浏览器返回的事件,对返回事件触发时做处理就好了。

// 进入页面时保存当前页url
mounted() {if (window.history && window.history.pushState) {// 向历史记录中插入了当前页console.log('向历史记录中插入了当前页')history.pushState(null, null, document.URL)window.addEventListener('popstate', this.goBack, false)}},// 监听页面销毁destroyed() {console.log('离开当前页面')window.removeEventListener('popstate', this.goBack, false)},methods: {// 页面销毁时走这个方法goBack() {console.log('点击了浏览器的返回按钮')// 清缓存sessionStorage.clear()window.history.back()history.pushState(null, null, document.URL)},},beforeRouteLeave(to, from, next) {// 如果这个页面有跳转其他页面的路由,所以在组件的路由钩子里也需要清下缓存sessionStorage.clear()next()},

监听浏览器返回,可清除历史记录(移动端:手势返回)(vue)相关推荐

  1. 【webview】微信和PC监听浏览器关闭和刷新(亲测可用)

    监听浏览器关闭和刷新 前言 PC端 微信端 前言 最近做的项目里有一个新的需求,在不同的浏览器内打开的网页,监听用户的操作,比如关闭浏览器,刷新浏览器等等. 这就涉及到了几个平台:PC端浏览器,移动端 ...

  2. html5 浏览器退回事件,html5的pushstate以及监听浏览器返回事件的实现

    这篇文章主要介绍了html5的pushstate以及监听浏览器返回事件的实现,主要介绍了pushstate的使用,以及监听浏览器的解决等问题,感兴趣的可以一起来了解一下 pushstate与监听浏览器 ...

  3. h5监听浏览器返回,关闭浏览器

    需求 监听浏览器返回,点击返回时,显示弹窗,弹窗中有两个按钮,a按钮:关闭当前浏览器,b按钮:关闭弹窗 mounted(){// 向历史记录中插入了当前页,//为了ios首次进入页面出现底部返回按钮i ...

  4. 监听浏览器的返回事件,禁止浏览器返回

    //禁止页面后退 history.pushState(null,null,document.URL); window.addEventListener('popstate',function(){// ...

  5. 【不得不看的几种js监听浏览器返回,关闭,刷新】

    监听浏览器切换页面 //切换页面document.addEventListener('visibilitychange', function () { //浏览器切换事件if (document.vi ...

  6. js监听浏览器返回、后退、上一页按钮事件方法

    一.监听浏览器事件 ⼤家知道在页⾯中我们可以使⽤javascript window history,后退到前⾯页⾯,但是由于安全原因javascript不允许修改history ⾥已有的url链接,但 ...

  7. Vue监听浏览器前进后退物理返回键(浏览器自带的)

    Vue监听浏览器前进后退物理返回键 在某些需求下要监听用户物理按键. popstate事件只会在页面不跳转的情况下,路由发生变化触发. created() { // 创建vm实例后执行// 浏览器控制 ...

  8. popState 监听浏览器切换路由

    浏览器内 popState 监听器使用 在前端开发过程中,在一些业务场景中可能会遇到监听浏览器前进/后退.控制路由等情况.我们可以使用Web API提供的popState事件来处理这些情况,提到pop ...

  9. js监听浏览器关闭事件(区分刷新和关闭,兼容IE9,10,11,Edge,Chrome和Firefox)

    由于各浏览器兼容性不同,所以首先要先区分各浏览器 var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = use ...

  10. linux输入数字切换浏览器tab,js监听浏览器tab窗口切换

    js监听浏览器tab窗口切换 --IT唐伯虎 摘要:js监听浏览器tab窗口切换. if (document.hidden !== undefined) { document.addEventList ...

最新文章

  1. //Eclipse 快捷方式
  2. 真惨!连各大编程语言都摆起地摊了!
  3. 寻找数组中的最大值和最小值
  4. python代码 程序员编程艺术 2.1
  5. visual C++ 项目和解决方案的区别
  6. 开课吧Java教程:如何用listFiles()方法
  7. MySQL集群Cluste详解(二)——配置实战
  8. OSG实时纹理提取 离屏渲染 输出到OpenCV 反向渲染 OSG摄像头反转 OSG动态模型 摄像机实时渲染
  9. 各个刷流量软件总结对比
  10. SSD固态硬盘检测工具:SSDReporter mac版
  11. python就业方向有哪些?
  12. 大学三年软件工程专业学习感受
  13. 国内外知名Android开发者GitHub、Blog
  14. 鼓励与信任让人变得强大
  15. 八评腾讯:解密腾讯的中年危机
  16. 什么是“真AI相机”
  17. 【stm32f407】时钟树以及SystemInit剖析
  18. 软件定义闪存: SSD加速企业数据中心变革
  19. 人工智能Java SDK:语音识别(ASR)【长语音】
  20. matlab气温与NDVI相关性分析,中国植被NDVI与气候因子的年际变化及相关性研究

热门文章

  1. 关于vcard通讯录格式解析-微信二维码解析
  2. 前端微信公众号开发,成功拿到了字节跳动、腾讯大厂offer
  3. linux bin目录在哪,Linux 基础知识 /bin,/sbin,/usr/sbin,/usr/bin 目录 区别详解
  4. linux pcre路径,PCRE和Nginx安装问题
  5. 如何提高网页的加载速度 ——优化网页图片加载
  6. 万字实录:从DDCTF大赛看当前网络安全新趋势 | 硬创公开课总结文+视频(下篇)...
  7. webRTC(八):查看offer/answer 的 SDP
  8. 标签打印软件制作标签时如何导入品牌logo
  9. 绘制logo软件-AI(illustrator)
  10. android学习之展示图片资源