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(); } } } |
浙公网安备 33010602011771号