获取iframe包含的页面的高度,兼容性好,iframe高度自适应

因为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"  onload="reHeight(this);"></iframe>

你可能感兴趣的:(IE,firefox,Safari)