在我的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/上查看此问题,只需转到主页上的任何其他页面,您就可以看到主页下面的内容空间很大。
答案 0 :(得分:1)
通过对您自己的研究的一点点,你应该能够发现setAutoGrow尊重它的名字,只 成长 iframe,但如果实际页面的高度小于上一页的高度, 缩小。
一种解决方案是在页面加载时使用高度为600px(最小高度)的setSize,然后使用大约500ms的延迟(setTimeout)调用setAutoGrow。
¹老兄,这个真的是一个已经广泛讨论过的话题......