调整IFrame高度仅限Chrome

时间:2012-03-06 23:37:03

标签: google-chrome iframe

所以我知道这个解决方案在某个地方,但我找不到它。我一直在挖掘google和stackOverflow大约一天。

基本上,我有一个iframe,我试图让它扩展到其内容的大小,这是一个非常简单的任务。我经历了几种方法,看着不同的高度等等。但是出于一些天祸的原因,Chrome不想忍受我。 所以这里是调整IFrame大小的javascript。为了确保JS正在工作并读取我在内部HTML文件中的高度(有点像调试)

<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。任何解决方案??

1 个答案:

答案 0 :(得分:1)

除非我遗漏了某些内容,否则我相信你的函数的最后一行有一个拼写错误(缺少.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>