我有一个 iFrame,它包含在我的 HTML 中,并且在页面加载时可用。当页面首次加载时,iFrame 没有 content/src。我正在使用 jQuery 将内容动态插入到 iFrame 中。当用户单击我页面上的链接时,iFrame 的内容就会更新。所有这些都对我有用。
但是,加载新内容时我很难调整 iFrame 的高度。我在 Stack Overflow 上尝试了几种解决方案,但没有成功。这是我的 iFrame 代码:
<iframe id="myframe" width="100%" frameborder="0"></iframe>
这是我的 jQuery,它更改了 iFrame 内的 HTML:
emailOpened.find('#myframe').contents().find('body').html(email.body);
这对我有用。我只需要我的 iFrame 根据注入(inject)内容的高度调整其高度。我对这部分的所有尝试都失败了。
更新
这是我的新 HTML:
<iframe id="myframe" width="100%" frameborder="0">
<body onload="parent.resizeIframe(document.body.scrollHeight);">
</iframe>
最佳答案
如果您需要移动支持并允许(用户)滚动 iframe,请查看 https://github.com/davidjbradshaw/iframe-resizer作为嵌入式解决方案,可修复 iOS 和 Android 上的不同问题。
- how to properly display an iFrame in mobile safari
- https://encrypted.google.com/search?q=iframe+resize+ios+issue
我还必须支持移动设备,经过几个小时的研究和测试后最终使用了它。我还使用提供的消息 channel 来回发送消息到内部文档。
关于javascript - 加载新内容时调整 iframe 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28334453/