gpt4 book ai didi

javascript - 如果我有两个共享一个域的 iframe,一个上的 postmessage 会触发另一个上的消息事件吗?

转载 作者:行者123 更新时间:2023-11-28 00:32:45 27 4
gpt4 key购买 nike

我在同一个主机页面上有两个 iframe

<body>
<iframe src="https://example.com/a" />
<iframe src="https://example.com/b" />
</body>

如果我触发

window.postMessage('Marco', window.location.origin) 

在第一个框架中,是否会在第二个 iframe 中触发消息事件?

最佳答案

不会,消息只会发送到调用 postMessage 的窗口。

Docs

targetWindow.postMessage(message, targetOrigin, [transfer]);

targetWindow:

A reference to the window that will receive the message. Methods for obtaining such a reference include:

  • window.open (to spawn a new window and then reference it),
  • window.opener (to reference the window that spawned this one),
  • HTMLIFrameElement.contentWindow (to reference an embedded from its parent window),
  • window.parent (to reference the parent window from within an embedded ), or
  • window.frames + an index value (named or numeric).

所以 window.postMessage 只会将消息发送到 windowwindow.frames[0].postMessage 只会将消息发送到iframe。

关于javascript - 如果我有两个共享一个域的 iframe,一个上的 postmessage 会触发另一个上的消息事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57957991/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com