
要是我们能够知道IFrame所加载页面的高度,然后设置IFrame的高度为所加载页面的高度,那么就可以达到自适应高度了。
那要怎么知道IFrame所加载页面的高度?
var clientHeight = $("#mainFrame")contents()find("body")height();
使用jQuery去查找IFrame中的body的高度,那么clientHeight就是我们想要的了。
但是我们要在什么时候去查找IFrame中的body呢?当然必须在IFrame加载完成的时候,要是IFrame还未加载完成,那我们如何取出它的body
$("#mainFrame")load(function() {
var clientHeight = $("#mainFrame")contents()find("body")height();
$(this)height(clientHeight);
});
这个世界是不是美好了很多
btw: 2009-12-16
今天修改了IFrame里的结构为
<div id="main"></div> float: left;
<div id="right-sidebar"></div> float: left;
$("#mainFrame")contents()find("body")height(); 取出的值为0
这是为什么呢?因为使用了float,则脱离了文档结构,你可以通过Firebug移过去,可以看到body没有选中任何区域。
那我们该怎么办呢?
只有main和right-sidebar两部分,取高的那部分不就可以了。
var mainHeight = $("#mainFrame")contents()find("#main")height();
var rightHeight = $("#mainFrame")contents()find("#right-sidebar")height();
var clientHeight = Mathmax(mainHeight, rightHeight);
一般调用iframe外部应用页面,还是要遵循本页面设置样式的,比如用户须知的iframe调用!
至于高度自适应,同样可以用css('overflow','hidden');
希望帮到你了!
以上就是关于如何让IFrame自适应高度全部的内容,包括:如何让IFrame自适应高度、jquery iframe 自适应高度的方法 高分求,、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)