wx小程序使用web-view嵌套h5,数据传递
1.h5->小程序
小程序只会在特定时机才收到H5页面传过来的消息。这些特定的触发时机包括:
- 页面后退(wx.navigateBack): 当用户点击小程序的返回按钮,或者小程序调用
wx.navigateBackAPI 返回上一页时,bindmessage事件会被触发,小程序会收到 H5 页面在当前web-view实例生命周期内所有postMessage发送的数据。 - 组件销毁: 当
web-view组件所在的页面被销毁时(例如,用户从当前页面跳转到另一个页面,或者关闭小程序),bindmessage事件会被触发。 - 分享(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返回,因为这已经是第一个页面了。
我用的是重定向跳转的方式可满足业务


浙公网安备 33010602011771号