我正在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()" ...
不久前,我遇到了一种情况,即在其中发生表单提交后,我还需要从
iframeLoaded
本身调用IFRAME
。您可以通过在IFRAME
的内容脚本中执行以下操作来实现:parent.iframeLoaded();
关于javascript - 根据内部内容使iframe高度动态-JQUERY/Javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27835494/