检索postMessage事件的完整原始URL

问题描述 投票:0回答:1

我正在设置一个通过 iFrame 嵌入不同内容的页面。父站点和 iFrame 内容都通过 Window.postMessage() API 进行通信。在父站点中,我通过

window.addEventListener("message", receiveMessage, false);
收听事件。有没有办法让我知道收到的事件的确切来源?我知道每个事件都包含一个
origin
,但这只是嵌入站点的基本 URL(协议、域、端口)。

但是,如果我嵌入两个具有相同基本 URL 但不同路径的 iFrame,我如何知道这两个 iFrame 中的哪一个发送了消息?

javascript html iframe postmessage
1个回答
0
投票

postMessage 事件提供了两件事

1.origin 参数:这告诉接收窗口或框架消息来自哪里。它就像信封上的回信地址。接收窗口或框架检查此地址以确保消息来自安全且可信的地方。

2.originUrl 参数:这是发送消息的页面的网址 (URL)。这就像知道一封信是从哪里寄出的一样。此参数提供有关消息在 Web 应用程序中来自何处的额外信息。

我们应该相应地选择。

© www.soinside.com 2019 - 2024. All rights reserved.