webview组件控制
通过创建webviewContext
提供从小程序向web-view
发送消息的能力。
my.createWebViewContext(webviewId)
创建并返回 web-view
上下文 webViewContext
对象。
入参
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
webviewId | String | 是 | 要创建的web-view 所对应的id属性 |
webViewContext
webViewContext
通过 webviewId 跟一个 web-view
组件绑定,通过它可以实现一些功能。webViewContext
对象的方法列表:
方法 | 参数 | 描述 | 兼容性 |
---|---|---|---|
postMessage | Object | 小程序向web-view 组件发送消息,配合web-view.js中提供的my.postMessage可以实现小程序和web-view网页的双向通信 | 1.8.0 |
代码示例
<view>
<web-view id="web-view-1" src="..." onMessage="onMessage"></web-view>
</view>
Page({
onLoad() {
this.webViewContext = my.createWebViewContext('web-view-1');
},
// 接收来自H5的消息
onMessage(e) {
console.log(e); //{'sendToMiniProgram': '0'}
// 向H5发送消息
this.webViewContext.postMessage({'sendToWebView': '1'});
}
})
// H5的js代码中需要先定义my.onMessage 用于接收来自小程序的消息。
my.onMessage = function(e) {
console.log(e); //{'sendToWebView': '1'}
}
// H5向小程序发送消息
my.postMessage({'sendToMiniProgram': '0'});
Tips:
以上的双向通信能力的流程是H5先发消息给小程序,小程序接收到消息后再发消息给H5。