gpt4 book ai didi

javascript - 根据内部内容使 iframe 高度动态化- JQUERY/Javascript

转载 作者:行者123 更新时间:2023-11-28 08:40:20 26 4
gpt4 key购买 nike

我正在 iframe 中加载一个 aspx 网页。 Iframe 中的内容可以比 iframe 的高度更高。 iframe 不应有滚动条。

我在 iframe 中有一个包装器 div 标签,它基本上是所有内容。我写了一些 jQuery 来调整大小:

$("#TB_window", window.parent.document).height($("body").height() + 50);

在哪里TB_window 是包含 Iframe 的 div。

body - iframe 中 aspx 的 body 标签。

此脚本附加到 iframe 内容。我从父页面获取 TB_window 元素。虽然这在 Chrome 上运行良好,但 TB_window 在 Firefox 中崩溃了。我真的很困惑/不知道为什么会这样。

最佳答案

您可以使用以下方法获取 IFRAME 内容的高度:contentWindow.document.body.scrollHeight

IFRAME 加载后,您可以通过执行以下操作更改高度:

<script type="text/javascript">
function iframeLoaded() {
var iFrameID = document.getElementById('idIframe');
if(iFrameID) {
// here you can make the height, I delete it first, then I make it again
iFrameID.height = "";
iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px";
}
}
</script>

然后,在 IFRAME 标记上,您可以像这样连接处理程序:

<iframe id="idIframe" onload="iframeLoaded()" ...

不久前,我遇到了一种情况,在其中发生表单提交后,我还需要从 IFRAME 本身调用 iframeLoaded。您可以通过在 IFRAME 的内容脚本中执行以下操作来完成此操作:

parent.iframeLoaded();

关于javascript - 根据内部内容使 iframe 高度动态化- JQUERY/Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27835494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com