我的页面中嵌入了iframe - 它只是我页面的一部分,而不是整个页面 . 我正在动态重新加载iframe,并希望根据其中内容的高度调整大小 .
内容在同一个域上,所以(希望?)不需要像Resizing an iframe based on content中给出的那样复杂的解决方案 .
这是我用来调整大小的代码,但它不起作用 . 框架重新加载正常,但高度始终保持不变 . 任何人都可以建议吗?
我认为这可能是因为iframe中的页面需要一段时间才能加载,因此在设置高度时它还没有完成加载 . 也许 .
function reload_frame(uid) {
document.getElementById('commentframe').src = "comments.html?" + uid;
document.getElementById('commentframe').height = document.getElementById('commentframe').contentWindow.document.body.scrollHeight + "px";
}
更新:
尝试,没有运气:
function reload_frame() {
var commentframe = document.getElementById('commentframe');
commentframe.style.height = (commentframe.scrollHeight + 10).toString() + "px";
}
它确实调整了iframe的大小,但只调整了其原始高度的10px - 如果内容长于此值,它仍然是隐藏的 .
也许我需要iframe体内的onload事件?