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);
简单介绍解决方案: 定时器 调用函数 时刻修改高度值。
这个可以参考作者的:/iframe-adjust-content-height.html
感谢作者提供解决方案,让我也解决了自己问题!