父窗口与 iframe 之间的通信

本文介绍了如何在网页中使用window.postMessage实现iframe与父窗口之间的数据交换,包括消息发送和接收的示例,并提及了与WebWorkers的比较。重点在于前后端通信的实践应用。

原文地址 父窗口与 iframe 之间的通信

1、iframe 向父窗口发送数据

window.parent.postMessage(message, "*");

message 也可以是 JSON 化的数据:

const message = JSON.stringify({
    message: 'Hello from iframe',
    date: Date.now(),
});
window.parent.postMessage(message, '*');

2、父窗口向 iframe(子窗口)发送数据

frameElement.contentWindow.postMessage(message, '*');

3、接收数据

可以通过监听 message 事件,接收数据:

window.addEventListener("message", function(e) {
    const data = e.data;

    // 打印接收到的数据
    console.log(data);
});

在前面的文章也介绍过 web workers 也是通过 postMessage 和 message 事件进行通信的,点击这里阅读 《Web Workers的简单介绍》

(完)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值