小程序和h5使用postmessage传参
时间: 2023-09-08 22:14:46 浏览: 104
微信小程序webview与h5通过postMessage实现实时通讯的实现
4星 · 用户满意度95%
小程序和H5都支持使用postMessage方法进行跨页面通信,但使用方式略有不同。
在小程序中,可以使用wx.miniProgram.postMessage方法发送消息,接收消息需要在目标页面的onMessage回调中进行处理。具体步骤如下:
1. 发送消息:
```javascript
wx.miniProgram.postMessage({
data: {
message: 'Hello MiniProgram'
},
success: function() {
console.log('发送成功')
},
fail: function() {
console.log('发送失败')
}
})
```
2. 接收消息:
```javascript
onMessage: function(e) {
console.log('接收到消息', e);
// 处理接收到的消息
}
```
在H5中,可以使用window.postMessage方法发送消息,接收消息需要在目标页面的window.onmessage回调中进行处理。具体步骤如下:
1. 发送消息:
```javascript
window.parent.postMessage({
message: 'Hello H5'
}, '*')
```
2. 接收消息:
```javascript
window.onmessage = function(e) {
console.log('接收到消息', e);
// 处理接收到的消息
}
```
需要注意的是,在小程序中,postMessage只能在一个小程序内的不同页面之间进行通信,而在H5中,postMessage可以在不同域名、不同协议、不同端口的窗口间进行通信。
阅读全文