处理uniapp刷新后,点击返回按钮跳转到登录页的问题

  1. 在使用uniapp的原生返回的按钮时,如果没有刷新会正常返回到对应的页面,如果刷新后会在当前页反复横跳,或者跳转到登录页。

  2. 那个时候我第一个想法时:使用浏览器的history.back()方法。因为浏览器刷新后还是可以通过右上角的返回按钮进行返回的。

  3. 然后我通过uniapp的addInterceptor或者onBackPress进行劫持点击返回时的事件。

  4. 可惜经过刷新后的后退按钮完全没有调用这两个回调。

  5. 这个时候我发现如果刷新后点击回退后会调用reLaunch的方法。

  6. 所以我在reLaunch判断,如果是uniapp自动调用的reLaunch这个方法。我就return false,并调用 history.back()方法返回上一个页。

    javascript 复制代码
      uni.addInterceptor("reLaunch", {
        invoke(e) {
          // 因为刷新后进行后退会调用这个路径,所以需要劫持然后调用back方法。
          if (e.url == "/") {
            history.back();
            return false;
          }
        },
      });
  7. 当然这个是浏览器才有的问题,如果是原生app,不会有刷新的功能。加这个逻辑的时候记得判断是不是原生app,可以通过是否有plus这个属性来进行判断是哪一个环境。

相关推荐
他叫自己MR张20 小时前
uni-app 应用启动报uni-ad业务状态异常(-9002)【已解决】
uni-app
2501_9159090621 小时前
iOS应用性能监控 Instruments工具与崩溃日志分析完整指南
android·ios·小程序·https·uni-app·iphone·webview
2501_915918412 天前
详解iOS App上架至App Store的全流程步骤与注意事项
android·macos·ios·小程序·uni-app·cocoa·iphone
anyup2 天前
终于在今天入选了 Gitee GVP,这真值得庆祝~
前端·uni-app·开源
虚惊一场2 天前
撤销为什么只需要 pop:用事件重放实现离线台球计分
微信小程序·uni-app
虚惊一场2 天前
从一个小程序到一座工具箱:uni-app 分包与 Flask 微服务实践
微信小程序·uni-app
Cry丶2 天前
【已解决】adb devices 能识别手机,但 HBuilderX 搜索不到设备的避坑指南
android·adb·uni-app·hbuilderx·真机调试
清风programmer3 天前
H5与小程序通信
前端·vue.js·uni-app
2501_915918414 天前
深入对比iOS开发中常用性能监控工具的底层原理与优缺点分析
android·ios·小程序·https·uni-app·iphone·webview
AI多Agent协作实战派5 天前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜
前端·数据库·人工智能·uni-app