我们都知道iFrame CSS高度不能指定为100%,并且无法让iFrame自动扩展为高度。我有一些旧的ASP.NET WebForms页面,我出于各种原因将其封装在MVC3环境中的iFrame中.....我不想使用iFrames .....但是这里的情况是有道理的....(a长篇故事)。
因为我正在使用iFrame,所以每当更改封闭的网页时,我都需要获取body标签scrollHeight值....并将其传递给父iFrame ....然后更改iFrame高度值。
此代码如下......
var iframeBody = $("iframe[id='_soc_layout_iframe']").contents().find('body');
if (iframeBody.length > 0) {
if ($.browser.msie == true) {
var scrollHeight = iframeBody[0].scrollHeight;
var heightPlusPadding = scrollHeight + 25;
$("iframe[id='_soc_layout_iframe']").css('height', heightPlusPadding.toString());
}
问题是FireFox中的scrollHeight和其他浏览器不是IE的完整内容高度。你能为非IE浏览器建议一种解决方法吗?
答案 0 :(得分:0)
Firefox表现得如此;浮动的东西将它从流中取出,因此它不再被“包含”。如果您在< div id =“wrapper>中包含您的页面并将其设置为
#wrapper { overflow: auto; }
你会发现scrollHeight按照你想要的方式工作。
感谢scrollHeight property in FireFox帮助我到达那里。