因为IFRAME包含的页面高度不确定,所以很苦恼,兼容性很差,页面很难看
经过苦苦搜索,现在找到一个比较好的兼容的办法,使得IFRAME能够根据包含页面的内容高度变化而变化:
var frm = obj; var subWeb = document.frames?document.frames["MainFrame"].document:frm.contentDocument; if(frm!= null && subWeb != null) { frm.height = subWeb.body.scrollHeight; if(frm.height<487){ frm.height=487; } }
MainFrame 为IFrame的ID
<iframe id="MainFrame" frameborder="no" scrolling="no" name="MenuAction" src="GoHome.do" border="0"></iframe>
还有一个JS,比较容易理解,上面这个不太好理解:
function reHeight(obj){ var iframeHeight=0; if (navigator.userAgent.indexOf("Firefox")>0) { // Mozilla, Safari, ... iframeHeight=obj.contentDocument.body.offsetHeight; } else if (navigator.userAgent.indexOf("MSIE")>0) { // IE iframeHeight=MainFrame.document.body.scrollHeight;//IE这里要用MainFrame,不能用obj,切记 }
<iframe id="MainFrame" frameborder="no" scrolling="no" name="MenuAction" src="GoHome.do" border="0" οnlοad="reHeight(this);"></iframe>