wx小程序使用web-view嵌套h5,数据传递

1.h5->小程序

小程序只会在特定时机才收到H5页面传过来的消息。这些特定的触发时机包括:

  1. 页面后退(wx.navigateBack): 当用户点击小程序的返回按钮,或者小程序调用 wx.navigateBack API 返回上一页时,bindmessage 事件会被触发,小程序会收到 H5 页面在当前 web-view 实例生命周期内所有 postMessage 发送的数据。
  2. 组件销毁: 当 web-view 组件所在的页面被销毁时(例如,用户从当前页面跳转到另一个页面,或者关闭小程序),bindmessage 事件会被触发。
  3. 分享(wx.onShareAppMessage): 当用户点击右上角的分享按钮,并通过 wx.onShareAppMessage 分享小程序时,bindmessage 事件会被触发。

页面后退,组件销毁(跳转到另外页面)可以直接在H5页面中调用下面这些API来完成:

  • wx.miniProgram.navigateTo
  • wx.miniProgram.navigateBack
  • wx.miniProgram.switchTab
  • wx.miniProgram.reLaunch
  • wx.miniProgram.redirectTo

 

所以,在H5页面中做完 wx.miniProgram.postMessage 操作后,你还需要执行一下上面的这些API。不然小程序的回调函数不会被触发。

需要注意的是,如果你的小程序第一个页面就嵌入了web-view,那么H5中没办法使用wx.miniProgram.navigateBack返回,因为这已经是第一个页面了。

我用的是重定向跳转的方式可满足业务

image

 

posted @ 2025-09-17 16:49  星期三q  阅读(106)  评论(0)    收藏  举报