-
在使用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
相关推荐
spmcor8 小时前
身份证读卡“无感登录”方案实践:从手动点击到自动检测PedroQue9914 小时前
uni-router v1.8.0新增冷启动守卫补执行PedroQue992 天前
uni-router v1.7.0重磅更新:守卫重定向自由掌控一份执念3 天前
uni-app项目 (vue+vite + uni-UI)中引入umd格式JS文件,微信小程序中导入报错处理方案PedroQue994 天前
V1.6.1性能优化:高频路径提速与代码精简夏碧笔6 天前
uni-app跨端地图实战:用第三方LBS替代微信平台收费服务用户69903048487510 天前
try catch使用场景 处理同步代码错误兼容用的ITKEY_10 天前
uniapp微信开发者工具 更改AppID失败 touristappidGeek_Vison11 天前
APP瘦身实战:从80MB+砍到15MB——基于小程序容器技术剥离APP非核心业务的实践分享CHB11 天前
HDC2026 演讲实录|AI 驱动的跨端进化:利用 uni-agent 快速构建高性能鸿蒙应用