关于iframe 自适高度 以及出现问题

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
感谢作者提供解决方案,让我也解决了自己问题!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值