项目场景:
背景:项目是用微信小程序的框架,里面用的是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,
});
},
版权声明:本文为qq_60178319原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。