奇怪的jquery iframe高度显示

时间:2012-02-23 14:54:31

标签: jquery iframe

我有以下方法调用iframe load:

function resizeIframe() {    
    $("#content").css("height", "");
    $("#content").css("width", "");
    var iFrameHeight = $('iFrame').contents().height();
    var iFrameWidth = $('iFrame').contents().width();

    $("#content").css("height", iFrameHeight);
    $("#content").css("width", iFrameWidth);
}

当调用此文本时,文本下方有很多空白空间,因此iframe高度约为1457px。但奇怪的是,当我添加这样的警报时:

function resizeIframe() {    
    $("#content").css("height", "");
    $("#content").css("width", "");

    var iFrameHeight = $('iFrame').contents().height();
    var iFrameWidth = $('iFrame').contents().width();

    alert($("#content").height()); <-------------this alert

    $("#content").css("height", iFrameHeight);
    $("#content").css("width", iFrameWidth);
}

添加此提醒后,它适合1050px的内容大小。我很困惑为什么要这样做或如何解决这个问题。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

通常,您需要在父页面中设置iFrame的大小。如果不这样做,它将采用父容器的整个宽度和高度,并为框架窗口设置此大小。 所以$('iFrame').contents().height()将返回您已经知道的实际渲染高度。

我不明白你对这些代码的意图。

如果要检查框架页面的原始动态大小,这可能很难。我对此还没有任何想法。

编辑:您可以使用此类脚本来修复动态大小问题。 http://www.dynamicdrive.com/dynamicindex17/iframessi2.htm