首页 > 解决方案 > 在 wordpress 中将数据插入 iframe

问题描述

我有一个关于更改 iframe 输出的问题。我的网站加载了一个首页(wordpress),其中整个内容块都是一个 iframe。我可以从 wordpress 端操作 iframe 的输出吗?

假设我想滚动到 iframe 内容中的 id 标签,我可以在 iframe 外部的首页上创建一个链接吗?

另一个示例可能是通过单击 wordpress 中的菜单链接来预填充 iframe 中的输入字段,这可能吗?

标签: javascriptwordpressiframe

解决方案


它可能取决于 iframe 是否是跨域的(即srciframe 上的属性是否与您的 wordpress 站点位于同一域中)。

如果不是 - 那么您可以简单地使用父窗口中的 javascript 访问 iframe 内容,例如(在父窗口中):

const iframe = document.getElementById('<your-iframe-id>');
const iframeDoc = iframe.documentElement || iframe.contentWindow.document;
doThingsWithIframeContents(iframeDoc);

如果它跨域的,那么您需要将消息传递给您在 iframe 文档中控制的脚本。然后,该脚本将操纵 iframe 本身的内容。无需过多介绍,请查看https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

编辑:实际上,请查看与此案例相关的其他 SO 帖子:如何在 iframe 和父站点之间进行通信?

希望有帮助!


推荐阅读