2012-03-06 145 views
4

所以我知道这个解决方案是在某处,但我找不到它。我一直在挖掘谷歌和stackoverflow的一天。只调整IFrame高度Chrome

基本上,我有一个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。任何解决方案

回答

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> 
+0

我知道这是晚了一年,但这是解决方案。我不知道我为什么没有回应。感谢您的帮助。 – popnbrown 2013-02-24 07:11:52