页面中使用iframe嵌套其他页面,如果出现滚动条,确实不好看,如果想不滚动就得让 iframe 高度自适应。
以下代码可以实现获取嵌套body的高度:
function init() {
let iframe = document.getElementById('djtIframe')
let iDoc = iframe.contentDocument || iframe.document
let height = djtxx.calcPageHeigh(iDoc)
document.getElementById('djtIframe').style.height = height + 'px'
}
function calcPageHeigh(doc) {
let cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight)
let sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight)
let height = Math.max(cHeight, sHeight)
return height
}
或者可以使用scrollHeight属性获取指定区域的高度、宽度
var elmnt = document.getElementById("content");
var y = elmnt.scrollHeight;
var x = elmnt.scrollWidth;
scrollHeight 属性是一个只读属性,它返回该元素的像素高度,高度包含内边距(padding),不包含外边距(margin)、边框(border),是一个整数,单位是像素 px。