0

这就是问题所在!我有一个加载外部网站的 iframe。我希望 iframe 根据内容高度将大小调整为 100%,这样我就不会得到滚动条。将 iframe 高度设置为 100% 不起作用。

我想出了两个解决方案:

  1. 将两端的 document.domain 属性设置为同一个域,从而使 iframe 内容可以访问父窗口。可以从 iframe 中启动 resize 方法。
  2. 使用 HTML5 postMessage API 采取适当的行动。我用来在两个 iframe 之间进行通信。

这两种方法都很复杂。有没有更简单的方法来解决这个问题?

4

3 回答 3

0

您可以将另一个 iframe 嵌入到您的 iframe 中。如果该 iframe 的源来自与顶级 iframe 相同的域、协议和端口,则它可以通过 parent.parent 访问它

于 2012-06-28T22:22:14.493 回答
0

去年我遇到了同样的问题,并在这个博客上找到了一个对我有用的解决方案:http: //solidgone.org/Set-IFRAME-height-based-on-size-of-remotely-loaded-content

该方法的更新版本可以在他的后续文章中找到: http: //solidgone.org/Redux-Set-IFRAME-height-based-on-size-of-remotely-loaded-content

就像杰克描述的那样,该实现需要在您的页面中嵌入一个具有相同父域源的 iframe。

我确实在FF中遇到了一个小问题。解决方法可以在后续文章的评论中找到。

希望这可以帮助!

于 2012-07-17T12:54:24.770 回答
0

一个更简单的解决方案是在 github 上使用这个小项目。

https://github.com/davidjbradshaw/iframe-resizer

于 2014-03-12T21:11:00.293 回答