iframe 自带事件 onload 可以高度如代码
<iframe id="dizhi" marginwidth=0 marginheight=0 onload='setHeight(this);' src="" frameborder="none" scrolling="no">
</iframe>
function setHeight(el) {
el.style.height = el.contentWindow.document.body.offsetHeight + 110 + 'px';
};
一般加载的时候不会出问题 能够实现加载页面 但遇到 盒子动态高度变换时候 就会出问题
在在onLoad 事件 子网页加载 并非玩整体 如果子界面存在 ajax 获取图片文字 等请求的时候会出现 计算高度为 数据未加载完成高度。所以此函数bug 不完美。
function reinitIframe() {
var iframe = document.getElementById("dizhi");
try {
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
console.log(height);
} catch (ex) {}
}
window.setInterval("reinitIframe()", 200);
简单介绍解决方案: 定时器 调用函数 时刻修改高度值。
这个可以参考作者的:http://caibaojian.com/iframe-adjust-content-height.html
感谢作者提供解决方案,让我也解决了自己问题!