2011-12-21 97 views
1

我有一个由Fancybox加载的iframe。在iframe中,我加载了jQuery,以便我可以在iframe中获得实际内容的适当高度$('html').height();使用iframe自动调整Fancybox的内容大小

  • 在FF,这似乎让我调整IFRAME(和的fancybox)适当

  • 在Chrome中,这个值报告大约为5px至20像素的短内容的实际高度。

  • 在IE 8中,报告的值是打开的fancybox窗口的初始高度,即使在后续刷新(iframe)时也是如此。

有越来越的iframe内容的高度,这样我可以调整的fancybox外壳,因此用户不会看到滚动条的更好的办法?

回答

0

版本的fancybox的1.3有您可以使用内嵌框架适合其内容调整大小的方法:

$.fancybox.resize(); 

如果回忆供应,这有重装的iFrame内容的副作用的影响。 如果您发现这种情况,请尝试使用body标签的高度来通知fancybox调整大小。

var height = $('body').height(); 
$('#fancybox-inner, #fancybox-wrap').height(height); 
+0

''。$ .fancybox.resize()'按照您的建议重新加载iFrame内容。 '$('body')。height()'没有考虑iframe设置高度的事实,这会导致'body'保持这个高度。 – 2011-12-22 14:00:43

0

您是否在寻找

$(document).height() 

我尝试使用$( 'HTML')。高度(),我得到了奇怪的值。

+0

'$(document).height()'至少对我来说,返回与$('html')。height()'相同的值,所以这不会工作: – 2011-12-22 13:57:34