如何通过ContentWindow传递消息

2754
2024/7/30 20:06:41
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要通过ContentWindow传递消息,可以使用postMessage方法。该方法允许在不同窗口之间安全地传递消息。

以下是一个简单的示例,展示如何通过ContentWindow传递消息:

  1. 在发送消息的窗口(发送方)中,使用postMessage方法发送消息:
var receiverWindow = document.getElementById('receiver').contentWindow;
receiverWindow.postMessage('Hello, this is a message from sender window', '*');
  1. 在接收消息的窗口(接收方)中,添加一个事件监听器来接收消息:
window.addEventListener('message', function(event) {
  if (event.origin !== 'https://www.example.com') {
    return;
  }
  
  console.log('Message received: ' + event.data);
});

在上面的示例中,发送方向ID为’receiver’的iframe窗口发送了一条消息,接收方通过监听message事件来接收消息,并在控制台中打印出来。

需要注意的是,要确保在接收方中通过消息事件中的origin属性验证消息来源,以防止恶意代码的传递。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ContentWindow和parent的区别