iframe自适应高度

最近在做项目中,遇到一个问题,就是iframe高度的自适应问题,以下是解决办法:

var iframeids = ['memberIndexIframe','inquiryCenterIframe','everychinaBbsIframe'];
var iframehide = "yes";
function dynIframeSize(){
    var dyniframe = [];
    for(var i=0;i<iframeids.length;i++){
        if(!document.getElementById) return false;
        dyniframe[i] = 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.getElement) && iframeids == "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;
}

对于上面的代码直接保存一个文件iframe.js,然后引用即可

注意:这段代码对于跨域的iframe引用不太适用,需要特别定义其iframe高度

下面这个代码是跨域的iframe高度

http://zoujialiang.iteye.com/blog/682216

posted @ 2012-08-14 15:44  赤脚大仙~  阅读(508)  评论(0编辑  收藏  举报
View Code