-
在使用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
相关推荐
2501_915918414 小时前
深入对比iOS开发中常用性能监控工具的底层原理与优缺点分析AI多Agent协作实战派11 小时前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜m0_5474866615 小时前
《Vue.js + uni-app全栈开发从入门到实践 》全套PPT课件2026版三声三视1 天前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白小徐_23332 天前
Open Wot 1.0.5 发布:让 AI 接入 wot-ui,只需要两条命令AI多Agent协作实战派2 天前
AI多Agent协作系统实战(二十二):从6列到12列——任务监控报告的进化之路小杨小杨、努力变强!2 天前
VS Code运行HBuilder X中的uni-app项目码兄科技2 天前
实战:基于Spring Boot + UniApp的地理信息小程序开发2501_916007473 天前
iOS和macOS应用程序性能分析和优化工具使用综合指南2501_916007474 天前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践