iframe高度随内容自适应

本文介绍了一种使iframe元素高度能根据其内部内容自适应调整的方法,通过JavaScript函数计算并设置iframe的高度,确保iframe始终展示完整内容而无滚动条。需要注意的是,当iframe内存在position:absolute样式时,可能会影响高度计算的准确性。
摘要由CSDN通过智能技术生成

iframe高度随内容自适应

方法:

//计算iframe高度
function calcPageHeight(doc) {
	var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight);
	var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight);
	var height = Math.max(cHeight, sHeight);
	return height
}
	
	//设置iframe高度
function changeFrameHeight(){
	var ifm = document.getElementById("iframeId");
	var iDoc = ifm.contentDocument || ifm.document || ifm.contentWindow;
	var cHeight = calcPageHeight(iDoc);
	ifm.height = cHeight + "px";
}

 

注意内容中,请不要有position: absolute;,不然无法获取iframe高度是不正确的,即带有position: absolute;的dom高度,不会叠加到html,因此获取iframe的高度会有偏差。

 

参考:

获取iframe实际高度

让iframe自适应高度-真正解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值