自动iframe大小不起作用

时间:2011-08-28 02:48:57

标签: javascript iframe

我有一个在Joomla上运行的网站,它在IE9之前运行良好。它仍然可以完美运行,但仅限于兼容模式。

问题在于我之前用来调用iframe的Javascript函数(这基本上有4个输入形式,它们一个接一个地加载,不同大小)但现在它显示错误。我已经尝试在Google上搜索论坛,但找不到解决方案。错误在这一行:

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';
   }

}

1 个答案:

答案 0 :(得分:1)

有更好的方法可以在不依赖document.framesdocument.all的情况下实现这一目标。看看这个short tutorial by Matt Cutts。阅读完之后,您应该得到以下内容:

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