2

我的 javascript 中有一个问题,它只是根据内容调整 iFrame 的大小。我让它在其他地方工作,但对于这个例子,它抛出了一个错误。使用以下代码body为 null ,因此无法获取scrollHeight.

if(document.getElementById('iFrameHelpDesk') != null)
{
    var Height = document.getElementById('iFrameHelpDesk').contentWindow.document.body.scrollHeight;

    document.getElementById('iFrameHelpDesk').height = Height + 40;
}

使用的html是:

<iframe src="http://<snipped webaddress>" id="iFrameHelpDesk" scrolling="no" frameborder="no"></iframe>

为什么这不填充body对象?

4

1 回答 1

4

相当简单,我从文档加载 ( $(function() {})) 方法中获取代码,并将其放入它自己的方法中,以便在实际 iframe 加载时使用。IE。

$('#iFrameHelpDesk').load(function() {

    var Height = document.getElementById('iFrameHelpDesk').contentWindow.document.body.scrollHeight;

    document.getElementById(iFrameHelpDesk').height = Height + 40;

});

这完美地工作,因为它应该。但现在让我感到困惑的是,为什么我在其上执行类似代码的其他一些 iframe 在文档加载中运行良好。但这行得通,我对此很满意。

于 2012-09-12T15:50:17.900 回答