【问题标题】:Edit iframe elements programatically from different domain从不同的域以编程方式编辑 iframe 元素
【发布时间】:2017-03-13 16:28:19
【问题描述】:

我有一个来自我使用的网络应用程序的 iframe 表单(该表单是一个自定义查询表单,它被添加到网络应用程序内的我的日记中),我目前正在尝试将其嵌入我的网站。

因此,该论坛在我的主网站上加载到 iframe 中,但我希望将其设置为看起来像我的网站等。

现在我已经有了一个非常基本的“联系我们”部分,我将用它来替换它,具有我想要的所有样式以及所有设置,所以我想到我可以将这个表单嵌入到我的页面,将其设置为隐藏,然后使用与新表单相同的样式展开我当前的联系我们表单。

从这里我只需从“firstName”中获取文本并将其放入 iframe 的“firstName”文本框中。

这是一种“解决方法”的想法,但我觉得这是最简单的方法,我遇到的问题是 javascript 不允许我从 iframe 设置数据,因为它来自不同的来源。当然,此表单托管在完全不同的网站上。

我有什么办法可以做到这一点,或者是我最好的选择,只是通过并设置样式?

任何帮助/建议将不胜感激。

【问题讨论】:

  • iframe 是在您控制的域上,还是使用服务创建的表单?

标签: javascript html css iframe


【解决方案1】:

假设您不控制托管表单的网站

你真的很糟糕。由于同源政策,您不得随意更改 iframe 中的内容。那将是一个巨大的安全问题。例如,您可以嵌入一个加载 Facebook 登录页面的 iframe,但也可以记录用户输入的密码。

You can read more about Same Origin Policy here

如果您确实可以控制 Web 服务器

那么您最好的选择是使用postMessage() 来完成工作。

【讨论】:

  • 如果您需要更多详细信息,请告诉我,我可以提供一些代码示例
  • 谢谢,很遗憾我无法控制它所在的域。我想我只需要设置 iframe 的样式,否则会更容易,但如果不可能,那么我别无选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-16
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
相关资源
最近更新 更多