小程序跳转web-viewt指定页面不刷新,解决记录

项目使用微信小程序框架,内嵌react项目。遇到的问题是在H5页面跳转至支付页面后,支付成功返回web-view页面时,页面无法正确刷新。解决方案包括H5页面先执行historyBack再跳转,并在微信小程序端通过改变上一个web-view页面的数据并添加时间戳来确保页面刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

背景:项目是用微信小程序的框架,里面用的是web-view标签嵌套的react项目,主要的业务都是在react项目里写的。

最近遇到一个问题是,需要从H5页面跳转到微信小程序的支付页面,支付成功后,返回到对应的web-view页面。试了几种方式,要不是页面返回不刷新接口,要不是返回多上一层页面没有替换,返回没有达到想要的效果。


解决方案:

H5页面跳转设置: (需要项目先goback上一个页面,不然微信小程序的web-view的src改变后,返回页面还有上一个页面的历史)

    let p1=()=>{
      wxPushUrl({
        pathname: `/pages/pay6/index`,
      });
    }
    Promise.all([p1,historyBack()])

微信小程序设置:
原因:可以在所在小程序页面直接更改上一个页面的this.data的值,上一个页面也是指向web-View页的,直接更改需要跳转src值即可。注意:要添加一个时间戳,此时返回的页面的Src已经变了,如果再次跳转到微信小程序,返回页面的src是一样的话,是不会刷新了。

    let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。
    let beforePage = pages[pages.length - 2]; // 前一个页面
    beforePage.setData({
      src: `${
        href + `#/publicDetailNew/?id=55&type=1&time=${new Date().getTime()}`
      }`,
    });
    wx.navigateBack({
      delta: 1,
    });
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值