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的高度会有偏差。
参考: