获取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"  οnlοad="reHeight(this);"></iframe>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值