好几次看到有人提问问到如何实现 iframe 的自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象,刚好我在工作中也碰到了类似问题,于是上网翻查,发现这个还不错,大家要是觉得有用,欢迎使用

<script type="text/javascript">   
//** iframe自动适应页面 **//  
  
//输入你希望根据页面高度自动调整高度的iframe的名称的列表  
//用逗号把每个iframe的ID分隔. 例如: ["myframe1", "myframe2"],可以只有一个窗体,则不用逗号。  
  
//定义iframe的ID  
var iframeids=["test"]   
  
//如果用户的浏览器不支持iframe是否将iframe隐藏 yes 表示隐藏,no表示不隐藏  
var iframehide="yes"  
  
function dyniframesize()    
{   
var dyniframe=new Array()   
for (i=0; i<iframeids.length; i++)   
{   
if (document.getElementById)   
{   
//自动调整iframe高度  
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) //如果用户的浏览器是NetScape  
dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight;    
else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight) //如果用户的浏览器是IE  
dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;   
}   
}   
//根据设定的参数来处理不支持iframe的浏览器的显示问题  
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>