Я использую следующий скрипт для автоматической настройки высоты iframe.
function autoIframe(frameId) {
try {
frame = document.getElementById(frameId);
innerDoc = (frame.contentDocument) ?
frame.contentDocument : frame.contentWindow.document;
objToResize = (frame.style) ? frame.style : frame;
objToResize.height = innerDoc.body.scrollHeight + 10 + 'px';
}
catch (err) {
window.status = err.message;
}
}
У меня есть три вкладки jquery и iframe в первых двух вкладках (myiframe1 и myiframe2)
Я вызываю приведенный выше код при загрузке iframes, как.
<iframe id="myiframe1" width="100%" onload="autoIframe('myiframe1');"
scrolling="auto" frameborder="0" src="mypath1">
</iframe>
<iframe id="myiframe2" width="100%" onload="autoIframe('myiframe2');"
scrolling="auto" frameborder="0" src="mypath2">
</iframe>
Это прекрасно работает в Google Chrome и IE8.
Но в Firefox, iframe на первой вкладке (видимая вкладка) имеет высоту в соответствии с содержимым, а iframe на второй вкладке не имеет правильной высоты. Высота второй вкладки установлена на 10 пикселей.
В чем здесь проблема?