在小程序内使用<web-view>组件,可以加载一个网页。
个人类型的小程序暂不支持使用。
如果打开页面后,页面想传送消息给小程序,可以在<web-view>组件上绑定一个事件,用于接收消息。
<web-view bindmessage="handleMsg" src="http://www.example.com"></web-view>
然后将handleMsg在methods中实现即可。
handleMsg (e) {
console.log('开始处理从web页面传送过来的数据', e)
}
注意:网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data },data是多次 postMessage 的参数组成的数组
如果有需要,可以让页面中的script调用 wx.miniProgram.navigateBack 自动回退到小程序页面,然后小程序页面就能收到handleMsg 消息了。
小程序目前只支持以下几种接口
wx.miniProgram.navigateTo
wx.miniProgram.navigateBack
wx.miniProgram.switchTab
wx.miniProgram.reLaunch
wx.miniProgram.redirectTo
wx.miniProgram.postMessage
wx.miniProgram.getEnv
其他接口,虽然在jssdk文件中有,但是调用的时候,会出现 permission denied !!!
在H5中向小程序发送消息,可以在script中这样写。
wx.miniProgram.getEnv(function (res) {
console.log("开始向小程序传送数据", res);
if (res.miniprogram) {
// 如果当前是小程序环境
wx.miniProgram.postMessage({
data: {
name: 'zhangsan'
},
success:function () {
console.log("向小程序发送数据成功,开始回退到小程序");
wx.miniProgram.navigateBack({
delta:1
})
}
})
}
});