IE - scrollHeight - 调整iFrame高度

时间:2011-04-06 20:25:14

标签: internet-explorer

我们都知道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浏览器建议一种解决方法吗?

1 个答案:

答案 0 :(得分:0)

Firefox表现得如此;浮动的东西将它从流中取出,因此它不再被“包含”。如果您在< div id =“wrapper>中包含您的页面并将其设置为

#wrapper { overflow: auto; } 

你会发现scrollHeight按照你想要的方式工作。

感谢scrollHeight property in FireFox帮助我到达那里。