setAutoGrow()仅适用于应用程序的第一页,有什么错误?

问题描述:

在我的Facebook应用程序中,我使用setAutoGrow()使页面适合内容,它可以工作,但只在第一页上,当我转到另一页时,它从应用程序启动时获得主页的高度并且不适合新内容。什么问题?setAutoGrow()仅适用于应用程序的第一页,有什么错误?

我真的做这样

<body> 
<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
     appId : '<?php echo $facebook->getAppId(); ?>', 
     channelUrl : '//autosn.net/channel.php', 
     cookie : true, 
     xfbml : true, 
     oauth: true 
    }); 

    FB.Canvas.setAutoGrow(); 
    ... 

您可以在http://apps.facebook.com/auto_social/这个问题一起来看看,刚去从主任何其他页面,你会看到下面的内容了巨大的空间,从左边主页。

随着研究的一个点点您own¹你应该已经能够找出setAutoGrow荣誉它的名字,并只有增长的iframe,但缩水它,如果实际页面的高度小于前一页面的高度。

一个解决方案是在页面加载时使用高度为600px(最小高度)的setSize,然后以大约500ms的延迟(setTimeout)调用setAutoGrow。


¹伙计,这真的已经广泛讨论的话题...

+0

它'工作。谢谢。而在这是我的错之前,我没有找到答案。 – sphinks 2012-07-14 13:56:52