如何使iframe的高度根据其中的内容自适应?我猜测您需要计算内容高度与iframe高度之间的差值(这是我不知道如何做的事情),并使用while循环增加一个变量作为高度,但我无法理解如何实际完成这些操作。在提问之前,请注意:是的,框架中的内容来自我的网站。不是跨域。
如何使iframe的高度根据其中的内容自适应?我猜测您需要计算内容高度与iframe高度之间的差值(这是我不知道如何做的事情),并使用while循环增加一个变量作为高度,但我无法理解如何实际完成这些操作。在提问之前,请注意:是的,框架中的内容来自我的网站。不是跨域。
不太确定为什么您想要使用 iframe 而不是通过 ajax 填充动态 div,但是:
将 iframe 中的内容放入一个 div 中,然后获取该 div 的高度。我建议使用 jQuery,如下所示:
$("#divId").height();
但如果您无法使用jQuery,您应该能够使用这个:
document.getElementById("divId").offsetHeight;
然后您需要将iframe的高度设置为您获得的任何值。
jQuery:
$("#iframeId").height($("#divId").height());
常规 JS:
document.getElementById("iframeId").style.height =
document.getElementById("divId").offsetHeight;
document.getElementById("frameId").contentWindow.document.getElementById("id")
。 - JCOC611document.getElementById("frameId").contentWindow.document
(至少在FF中)。 - YakovL<iframe id="moo" src="something.html"><iframe>
<script>
function onContentChange(){
var NewSize=$('moo').getScrollSize();
$('moo').setStyles({
width: NewSize.x,
height: NewSize.y
});
}
</script>
在 something.html 文件中,在底部或 onload 事件中,可以执行以下操作:
window.parent.window.onContentChange()
$('#iframe').height($('#iframe').contents().find('body').height());
<script type="text/javascript">
var iframesrc = "@Href("~/about")";
function init() {
var vHeight = document.getElementById("td1").offsetHeight;
document.getElementById("td1").innerHTML="<iframe style=\"width:100%; height:" + vHeight + "px\" src=\"" + iframesrc + "\"></iframe>";
}
window.onload = init;
</script>
...
<td id="td1" style="width: 100%; height:100%;">
</td>