小程序拦截返回

718 阅读1分钟

在实际开发需求中,经常会遇到一些情况需要对用户返回上一级进行拦截询问,如:

  • 用户填写完表单没保存
  • 未完成支付点击返回

网上查阅了一下,说是官方没有给出监听返回的方法,developers.weixin.qq.com/community/d… 于是

目前知道的方案:
1.    wx.enableAlertBeforeUnload  缺点:不能自定义弹出框样式
2.    page-container  缺点:弹出框只会出现一次
3.    自定义头部,IOS可以完美解决,不过尴尬的是Android除了头部的返回,还有手势返回(左滑右滑等等),以及部分安卓机底部有按钮可以返回。。。实现方法:
        1.config设置navigationStyle: "custom"自定义头部
        2.[Android可以通过监听滑动事件来自定义拦截](https://juejin.cn/post/7174304021220442148)   
        3.可以在onUnload将数据保存起来,然后在跳转到指定页面后在onLoad生命周期返回之前的页面,再重新回填数据。。。,这样的缺点就是页面会闪一下,用户体验不是很好
    

有好的建议,请在下方输入你的评论。