最近做一个网站,要将一个html页面放到iframe框架里,代码如下:
<iframe id="checkListFrame" name="checkListFrame" src="Index.html" frameBorder="0" style=" border: #ff7c12 0px solid; width: 970px;" scrolling="no"></iframe>
开始根据该html页面直接在里面设置了iframe框架的宽度和高度,但是后来要实现点击不同的菜单,显示不同的html页面,这是发现页面显示不全,高度不够,所以就有动态调整iframe的高度。
要实现这个效果,只要在页面上加上下面javascript代码就ok:
<script type="text/javascript">
var iframeids = ["checkListFrame"]
var iframehide = "yes"
function dyniframesize() {
var dyniframe = new Array()
for (i = 0; i < iframeids.length; i++) {
if (document.getElementById) {
dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
if (dyniframe[i] && !window.opera) {
dyniframe[i].style.display = "block"
if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight)
dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight;
else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight)
dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;
}
}
if ((document.all || document.getElementById) && iframehide == "no") {
var tempobj = document.all ? document.all[iframeids[i]] : document.getElementById(iframeids[i])
tempobj.style.display = "block"
}
}
}
if (window.addEventListener)
window.addEventListener("load", dyniframesize, false)
else if (window.attachEvent)
window.attachEvent("onload", dyniframesize)
else
window.onload = dyniframesize
</script>