H5页面:
wx.miniProgram.navigateBack({delta: 1})
wx.miniProgram.postMessage({ data: '获取成功' })
小程序:
<web-view src="{{docUrl}}" bindmessage="handleGetMessage" ></web-view>
handleGetMessage: function (e) {
console.log('ddddddddddddxxxxxxxxxx',e)
}
是哪里除了问题呢,请问怎样才能获取到数据的呢?
先postMessage,再back。
机制是在你执行返回、分享、销毁的时候获取之前post的消息
你代码里触发了返回,但是这个时候还没有消息,自然获取不到。
H5的两行代码换一下顺序。
网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data },data是多次 postMessage 的参数组成的数组。你分享时就能收到了。
wx.navigateBack参数是delta是页面栈的index,请仔细查阅下文档,这里不是一个可以被捕获的参数。
小程序后退、组件销毁、分享只接收postMessage 发送的数据。
如果是navigateBack时,也发送的是postMessage 的数据。
你可以在探究性这个navigateTo接口,可以直接导航到目的地页面,且发送数据过去。https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateTo.html