我有一个在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';
}
}
答案 0 :(得分:1)
有更好的方法可以在不依赖document.frames
或document.all
的情况下实现这一目标。看看这个short tutorial by Matt Cutts。阅读完之后,您应该得到以下内容:
var iframe = document.getElementById('blockrandom');
iframe.style.height = iframe.contentWindow.document.body.scrollHeight + 'px';