比较有效的iframe高度自适应代码

使用定时器保证iframe里面内容改变后iframe高度也动态改变。
还是用源生JS代码吧,本来用的是jquery,改了一下,占时看来支持ie8,chrome,firefox

/**
* 设置内容iframe高度自适应
* @param id iframe的id
*/
function iFrameHeight(id) {
var ifm = document.getElementById(id);
if (ifm != null) {
var iframeHeight = Math.min(ifm.contentWindow.window.document.documentElement.scrollHeight + 20,
ifm.contentWindow.window.document.body.scrollHeight + 20); // 加20的高度保证部分浏览器得到的高度比实际内容小,可以考虑加更多
ifm.height = iframeHeight;
}
}
/**
* 定时刷新重新获取iframe内容高度并重新设置iframe高度
* @param id iframe的id
*/
function runResizeTask(id) {
iFrameHeight(id);
setTimeout(function(){runResizeTask(id);}, 500); // 0.5秒性能和用户体验折中
}

前端代码如下:

<iframe src="/xxxxx" id="main_frame" name="main_frame" width="100%" frameborder="0" scrolling="no" onLoad="javascript:runResizeTask('main_frame')" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值