<script type=
"text/javascript"
>
// 计算页面的实际高度,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
}
var
ifr = document.getElementById(
'ifr'
)
ifr.onload =
function
() {
var
iDoc = ifr.contentDocument || ifr.document
var
height = calcPageHeight(iDoc)
ifr.style.height = height +
'px'
}
</script>
|
这里有两个细节:
1. 取iframe内的文档对象,标准浏览器使用contentDocument属性,IE低版本(IE6,7,8)使用document属性。
2. calcPageHeight函数计算页面的实际高度,标准浏览器使用document.documentElement,低版本IE使用document.body,默认取clientHeight,出现滚动条的取scrollHeight,最后取两个值中最大的。