iframe自适应高度,同时为src属性赋值

问题的描述:

  为了将一个html页面嵌入到另外一个html页面当中,用到iframe标签。

  在iframe标签的onload事件中,根据传递的参数确定iframe的src属性链接哪一个具体的html页面。

  遇到的问题是,当页面嵌入之后iframe高度不能随嵌入页面的高度变化,参考“平凡的世界”博客http://www.ccvita.com/category/div-css/的做法,将iframe高度自适应的代码放在onlaod事件中,src属性指定之后。又出现新的问题——页面不停的刷新进入死循环。

原因分析:

  为src赋值会触发onload事件,然而在onload事件中为src赋值,必然会触发onload事件,如此形成死循环,页面不断刷新。

解决方法:

  将iframe的src属性赋值的语句独立出来放在window.onload事件或者body.onload事件中;而在iframe的onload事件中设置iframe的高度自适应与所嵌入的页面的高度。

代码如下:  

window.onload = function () {
            alert("window onload");
            var iframe_obj = document.getElementById("certificateContent");
            if (iframe_obj) {
                iframe_obj.src = “指定嵌入页面的路径”;
            }
        }

 

        /*iframe高度自适应(参考平凡的世界博客)*/
        function iFrameHeight() {
            var ifm = document.getElementById("certificateContent");
            if (ifm) {
                if (ifm && !window.opera) {
                    if (ifm.contentDocument && ifm.contentDocument.body.offsetHeight) {
                        ifm.height = ifm.contentDocument.body.offsetHeight;
                    }else if (ifm.Document && ifm.Document.body.scrollHeight) {
                        ifm.height = ifm.Document.body.scrollHeight;
                    }
                    //alert(ifm.height);
                    //SetTitle();
                }                
            }
        }

你可能感兴趣的:(iframe)