前置准备与配置
在微信小程序中,利用 <web-view> 组件加载 H5 页面时,最核心的需求往往是原生与网页间的数据互通。这主要依赖 postMessage 机制来实现。
小程序端配置
首先确保 app.json 或 page.json 中已正确配置权限,这是通信的基础:
{
"usingComponents": {},
"permission": {
"scope.webView": {
"desc": "用于网页和小程序通信"
}
}
}
网页端配置
内嵌的 H5 页面需要引入微信 JS-SDK,建议使用官方最新版本以保证兼容性:
<!-- 内嵌网页需引入微信 JS-SDK -->
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
核心通信逻辑
小程序向网页发送消息
在小程序页面中,通过 selectComponent 获取 web-view 实例后调用 postMessage。这里要注意,消息结构最好包含类型标识,方便网页端区分处理。
// page.js
Page({
data: { webViewUrl: 'https://your-domain.com/page.html' },
onLoad() {
// 初始化逻辑
},
// 向网页发送消息
sendToWebPage() {
const webview = .();
(!webview) ;
webview.({
: {
: ,
: ,
: .()
}
});
},
() {
.(, e..);
{ type, data } = e..;
(type === ) {
}
}
});


