如何从 iframe 内部的 Svelte 应用程序访问 iframe 变量?

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

我有一个 iframe,可以根据请求加载不同的 svelte 应用程序。 我需要从其中加载的 svelte 应用程序访问包含 iframe 的文档中定义的变量。 这样可以吗?

variables iframe svelte
1个回答
0
投票

可能不是。除非当前文档和 iframe 源同源,否则 JS 不允许访问 iframe 的内容。

可以在框架文档中使用

window.postMessage
并监听外部的
message
事件。还可以使用相同的机制将消息发送到框架中(有关更多信息,请参阅链接文档)。这样就可以跨帧边界进行通信。

重要警告:

任何窗口都可以随时在任何其他窗口上访问此方法,无论文档在窗口中的位置如何,都可以向其发送消息。因此,任何用于接收消息的事件侦听器必须首先使用

origin
和可能的
source
属性检查消息发送者的身份。

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