2012-03-06 302 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