如何在IE7中的不可见帧中获取对象的.height()?

时间:2012-10-19 14:20:07

标签: javascript jquery internet-explorer iframe internet-explorer-7

我的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 Web浏览器,因此解决方案必须与IE7兼容

1 个答案:

答案 0 :(得分:1)

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

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

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