setAutoGrow()只适用于应用程序的第一页,这有什么错

setAutoGrow() works only on the first page of application, what`s wrong?

本文关键字:什么 第一页 适用于 应用程序 setAutoGrow      更新时间:2023-09-26

在我的facebook应用程序中,我使用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/,只需从主页转到任何其他页面,您就会在主页左侧的内容下看到一个巨大的空间。

通过自己的一点研究,您应该能够发现setAutoGrow尊重它的名称,并且生长iframe,但如果实际页面的高度小于前一个页面的高度,不会收缩。

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


cco老兄,这个真的是一个已经被广泛讨论的话题…