根据iframe内的内容调整iframe及其父高的大小

时间:2014-03-28 16:43:51

标签: javascript jquery iframe

根据内容的大小调整iframe高度有很多问题,但如果内容过长而超出容器的高度会怎样。在这种情况下,我希望容器高度相应地调整大小,没有iframe获取滚动或修剪以防止溢出设置为隐藏。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

由于您的文档和iframe是不同的域,因此一个javascript无法直接访问另一个域的DOM(请参阅same-origin security restrictions)。这意味着您无法直接访问iframe的DOM,以了解它可能会有多大,以便您可以在包含的文档中将iframe大小设置为该大小。

您执行此操作所需的任何选项都需要在iframe中进行一些代码控制。例如,您可以在两个iframe之间支持window.postMessage(),并且包含的​​文档可以通过window.postMessage()询问iframe的大小,并且当它收到响应时,它可以更改iframe大小

各种参考文献:

cross-domain iframe resizer?

http://css-tricks.com/cross-domain-iframe-resizing/

Cross-domain, cross-browser Iframe communcation, made easy!

Yet Another cross-domain iframe resize Q&A

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