所以我知道这个解决方案在某个地方,但是我找不到。我已经在Google和stackOverflow中挖掘了大约一天。

基本上,我有一个iframe,我正在尝试使其扩展到其内容的大小,这是一个非常简单的任务。我经历了几种方法,分别针对不同的高度等进行了研究。但是由于某些令人毛骨悚然的原因,Chrome不想忍受我。
因此,这是调整IFrame大小的JavaScript。为了确保JS正常工作并读取我在innerHTML片段中投入的高度(有点像调试)

<script type="text/javascript">

function resizeFrame() {
     var t=document.getElementById("Footer");
     var f = document.getElementById("mainContent");
     var y = f.contentWindow;

     t.innerHTML = y.document.body.offsetHeight;
     f.height = y.body.offsetHeight;
}

</script>


这是iframe:

    <iframe onload="resizeFrame()" id="mainContent" src="homec.html" scrolling=auto frameborder=0 height="100%" width="100%">
    Not working!</iframe>


因此,出于某些奇怪的原因,它不起作用,在Chrome浏览器中让我非常讨厌。但是它可以在Firefox和IE中使用。任何解决方案?

最佳答案

除非我缺少任何内容,否则我相信您在函数的最后一行有错字(缺少.document.

以下在Chrome(18.0)中对我有效:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function resizeFrame() {
     var t=document.getElementById("Footer");
     var f = document.getElementById("mainContent");
     var y = f.contentWindow;

     t.innerHTML = y.document.body.offsetHeight;
     f.height = y.document.body.offsetHeight;
    }
</script>
</head>
<body>
<iframe onload="resizeFrame()" id="mainContent" src="homec.html" scrolling=auto frameborder=0
height="100%" width="100%">Working!</iframe>
<p id="Footer"> Footer</p>
</body>
</html>

10-06 07:35
查看更多