1

我有一个 IFrame,它具有动态内容,具体取决于用户单击的链接。

我显示 IFrame 的实际代码如下所示:

var frame = $('#ContentFrame');
frame.attr('src', url);

// Wait until frame content finishes loading before positioning and showing
frame.load(function () {
    SizeAndPositionFrame(variables);
    frame.show();
});

如您所见,直到内容加载后,框架才真正显示出来。这是因为框架的大小可能会有所不同,并且我不希望以前的内容在新内容加载之前因框架调整大小而失真。

我的问题是某些内容框架的页面包含$(document).ready()需要某些对象的函数中的代码.height(),在 IE7 中,此高度为 0,直到框架完成加载 iframe 变得可见。

由于显示内容的框架不可见,我该怎么做才能获取.height()不可见的不可见对象?

注意:这是针对嵌入式 IE7 网络浏览器的,因此该解决方案必须与 IE7 兼容

4

1 回答 1

1

使 iFrame 可见,但不在视口内。

frame.css({
    position: 'absolute',
    left: '9000px'
});

但是,最好对类执行此操作,以便您可以简单地删除该类。

于 2012-10-19T14:29:01.090 回答