私の問題は、iframeをロードするとiframeの高さが正しく設定され、データ(コンテンツ)がiframeにロードされると自動的に高さが設定されますが、iframeにページがロードされ、ページコンテンツに対して相対的に高さが設定され、コンテンツを削減または削除すると読み込まれたページから iframe の高さは減りません (たとえば、ページを初めて読み込むときに高さを設定100px
し、ページにデータを動的に読み込む150px
ときに iframe の高さを設定し、データを減らすと iframe の高さが設定されません150px
)。これは私のコードです:
function setIframeHeight(iframe) {
if (iframe) {
var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
if (iframeWin.document.body) {
iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
}
setInterval("setIframeHeight_id('" + iframe.id + "')", 2000);
}
return false;
}
function setIframeHeight_id(iframeid) {
var iframe = document.getElementById(iframeid);
if (iframe) {
var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
if (iframeWin.document.body) {
iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
}
}
return false;
}
function resizeIframe(nm) {
setIframeHeight(document.getElementById(nm));
}
HTML
<iframe id="IframeData" scrolling="no" frameborder="0" width="100%" onload="resizeIframe('IframeData')" allowtransparency="true"></iframe>