-
在使用uniapp的原生返回的按钮时,如果没有刷新会正常返回到对应的页面,如果刷新后会在当前页反复横跳,或者跳转到登录页。
-
那个时候我第一个想法时:使用浏览器的history.back()方法。因为浏览器刷新后还是可以通过右上角的返回按钮进行返回的。
-
然后我通过uniapp的addInterceptor或者onBackPress进行劫持点击返回时的事件。


-
可惜经过刷新后的后退按钮完全没有调用这两个回调。
-
这个时候我发现如果刷新后点击回退后会调用reLaunch的方法。

-
所以我在reLaunch判断,如果是uniapp自动调用的reLaunch这个方法。我就return false,并调用 history.back()方法返回上一个页。
javascriptuni.addInterceptor("reLaunch", { invoke(e) { // 因为刷新后进行后退会调用这个路径,所以需要劫持然后调用back方法。 if (e.url == "/") { history.back(); return false; } }, }); -
当然这个是浏览器才有的问题,如果是原生app,不会有刷新的功能。加这个逻辑的时候记得判断是不是原生app,可以通过是否有plus这个属性来进行判断是哪一个环境。
处理uniapp刷新后,点击返回按钮跳转到登录页的问题
姚*鸿的博客2024-07-18 21:13
相关推荐
游戏开发爱好者810 分钟前
React Native iOS 代码如何加密,JS 打包 和 IPA 混淆2501_915918411 小时前
iOS mobileprovision 描述文件管理,新建、下载和内容查看00后程序员张1 小时前
iOS 应用程序使用历史记录和耗能记录怎么查?学亮编程手记2 小时前
Mars-Admin 基于Spring Boot 3 + Vue 3 + UniApp的企业级管理系统万物得其道者成5 小时前
uni-app CLI:APP 多环境打包(测试/正式)最简配置 + `import.meta.env` 为 `undefined` 的解决毕设源码-邱学长6 小时前
【开题答辩全过程】以 基于 uni-app Node.js 的音乐系统设计与实现为例,包含答辩的问题和答案qq_316837756 小时前
华为obs 私有桶 音频 使用uniapp 安卓端播放-99的问题凉辰21 小时前
uniapp实现生成海报功能 (开箱即用)笨笨狗吞噬者1 天前
【uniapp】小程序支持分包引用分包 node_modules 依赖产物打包到分包中har01d1 天前
uni-app 自动更新检测弹窗,踩坑记录