我也遇到过类似这个问题,你在你小程序端的message方法打印一下e,你就会看到data里面有两条记录,第一条是aa,第二条里面的值才是bb,如果分享调用三次,打印的data里面就会有三条记录,第三条才是最新的,e.detail.data[e.detail.data.length-1].foo 这样收到的才是最新的。我也不知道为什么会调用多次就会有多条记录,或者,即使有多条记录,怎么清除?
wx.miniprogram.postmessage获取数据//h5页面 var jsondata='aa' wx.miniProgram.postMessage({data: {foo: jsondata}}) //小程序 <web-view src='{{h5Url}}' bindmessage="message"></web-view> message: function (e) { var that = this that.shareData = e.detail.data[0].foo console.log(that.shareData) }, h5页面A嵌套在小程序里面。第一次进入h5页面A的时候点击右上角分享按钮,可以触发messge方法,接收到参数shareData为aa,h5页面A上有个一按钮,点击按钮会跳转到(window.location.href='新连接地址')一个新的h5页面B,手机返回键返回到A页面的时候会给jsondata重新赋值‘bb’,然后点击分享按钮,获取到的shareData值还是aa而不是重新赋值的bb,请问这是什么原因
2019-01-11