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。
¹伙计,这真的是已经广泛讨论的话题...
它'工作。谢谢。而在这是我的错之前,我没有找到答案。 – sphinks 2012-07-14 13:56:52