网上有N多关于Iframe自适应高度的代码,亲自测试了十多个都不管用,只好在高手原创的基础上写了以下代码,共分享:
说明:只需要放到Iframe的文件里,然后在iframe中onload它就OK了,被iframe的不需要做任何改动~这才是精华所在~~
以下是完整代码,需要了解细节的往后看:
******************完整代码******************
http://www.w3.org/1999/xhtml">
***************************************************
以下是javascript部分详解:
************************************
function reinitIframe(){
var iframe = document.getElementById("uu"); //得到iframe,注意:iframe的ID此刻为:uu
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight; //得到窗口高度
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight; //得到滚动的高度
var height = Math.max(bHeight, dHeight); //取得最高高度,就是窗口高度了,很多失败的代码估计都是这里被忽略了
var btitle = iframe.contentWindow.document.title; //得到被iframe页面的title
iframe.height = height; //设置我们的iframe高度为得到的高度
document.title=btitle; //好了,为了更逼真我们把被iframe页面的title也换过来,注意上面完整代码里有一个margin:0;的样式设置,目的是为了iframe文件完全没有四周的白边
}catch (ex){}
}
window.setInterval("reinitIframe()", 200); //设定:每隔200微秒执行一次,只执行一次不就OK吗?嘿嘿,这个问题留个大家去研究,
有问题的朋友可以Email找到我:uu#uu8f.com(#号得换一下,你懂的~)