请问wx.miniProgram.postMessage为什么接收不到数据?
发布于 6 年前 作者 litao 9329 次浏览 来自 官方Issues

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)

}

是哪里除了问题呢,请问怎样才能获取到数据的呢?

2 回复

先postMessage,再back。

机制是在你执行返回、分享、销毁的时候获取之前post的消息

你代码里触发了返回,但是这个时候还没有消息,自然获取不到。

H5的两行代码换一下顺序。

网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data },data是多次 postMessage 的参数组成的数组。你分享时就能收到了。

回到顶部