Javascript setAutoGrow()只在应用程序的第一页起作用,怎么了?

Javascript setAutoGrow()只在应用程序的第一页起作用,怎么了?,javascript,facebook,Javascript,Facebook,在我的facebook应用程序中,我使用setAutoGrow()使页面适合内容,它可以工作,但仅在第一个页面上,当我转到另一个页面时,它会从应用程序启动时获得主页的高度,而不适合新内容。怎么了 我是这样做的 <body> <div id="fb-root"></div> <script> window.fbAsyncInit = function() { FB.init({ appId : '<?php e

在我的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();
   ...

window.fbAsyninit=函数(){
FB.init({
appId:“”,
channelUrl:“//autosn.net/channel.php”,
曲奇:是的,
xfbml:是的,
真的吗
});
FB.Canvas.setAutoGrow();
...
您可以在上查看此问题,只需从main转到任何其他页面,您就会看到内容下的巨大空间,即主页上留下的空间。

通过您自己的一点研究,您应该能够发现setAutoGrow尊重它的名称,并且只增加了iframe,而不是缩小了iframe 如果实际页面的高度小于上一页的高度,则此选项无效

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



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

s有效。谢谢。我在这之前没有找到答案是我的错。