2011-08-28 73 views
0

我有一個網站在Joomla上運行,它在IE9之前完美運行。它仍然可以很好地工作,但只能用於兼容模式自動Iframe大小不起作用

問題出在我以前用來調用Iframe的Javascript函數中(這個函數基本上有4個輸入表單,一個接一個地加載,不同的大小),但現在它顯示一個錯誤。我試過搜索論壇和谷歌,但找不到解決方案。錯誤在這一行:

h = document.frames('blockrandom').document.body.scrollHeight; 

由IE9(錯誤代碼5002,在字符3)生成。有沒有其他的選擇?

function iFrameHeight() { 
    var h = 0; 
    if (!document.all) { 
     h = document.getElementById('blockrandom').contentDocument.height; 
     document.getElementById('blockrandom').style.height = h + 60 + 'px'; 
    } 
    else if (document.all) { 
     h = document.frames('blockrandom').document.body.scrollHeight; 
     document.all.blockrandom.style.height = h + 20 + 'px'; 
    } 

}

+2

'document.all'讓1999瀏覽器檢測! – epascarello

回答

1

有更好的方法來實現這一目標,而不依賴於document.framesdocument.all。看看這個short tutorial by Matt Cutts。讀完之後,你應該得到如下結果:

var iframe = document.getElementById('blockrandom'); 
iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px';