Taro小程序接收 vue3项目发送的window.parent.postMessage参数
时间: 2024-02-06 20:33:41 浏览: 281
在 Vue 3 项目中发送消息到 Taro 小程序的父窗口,可以使用 `window.parent.postMessage()` 方法将消息发送到 Taro 小程序所在的 iframe 窗口。在 Taro 小程序中,可以通过监听 `message` 事件来接收从 Vue 3 项目发送的消息。以下是一个基本的示例代码:
在 Vue 3 项目中发送消息:
```javascript
// 发送消息到 Taro 小程序的父窗口
window.parent.postMessage({
type: 'message',
data: 'hello from Vue 3'
}, '*');
```
在 Taro 小程序中接收消息:
```javascript
// 监听 message 事件
window.addEventListener('message', event => {
// 判断消息来源是否是 Vue 3 项目的 URL
if (event.origin !== 'https://your-vue3-project-url.com') {
return;
}
// 获取消息内容
const message = event.data;
// 处理消息
if (message.type === 'message') {
console.log('Received message from Vue 3:', message.data);
}
});
```
在上面的示例代码中,我们使用 `window.parent.postMessage()` 方法将消息发送到 Taro 小程序的父窗口,并且设置接收消息的窗口源为 `'*'`,表示可以从任何源接收消息。在 Taro 小程序中,我们通过监听 `message` 事件来接收从 Vue 3 项目发送的消息。在事件处理函数中,我们首先判断消息来源是否是 Vue 3 项目的 URL,以确保接收到的是正确的消息。然后,我们获取消息内容,并根据消息类型进行处理。在这个示例中,我们只是简单地将消息内容输出到控制台中。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)