如何从其中的 Svelte 应用程序访问 iframe 变量?

How can I access iframe variables from a Svelte app inside it?

提问人:angelo alamia 提问时间:11/2/2023 最后编辑:angelo alamia 更新时间:11/2/2023 访问量:32

问:

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

变量 iframe svelte

评论


答:

1赞 brunnerh 11/2/2023 #1

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

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

重要警告:

任何窗口都可以随时在任何其他窗口上访问此方法,而不管文档在窗口中的位置如何,以向其发送消息。因此,任何用于接收消息的事件侦听器都必须首先使用 和 可能的属性来检查消息发送者的身份。originsource