新的FB画布(810px)被切断

时间:2012-04-05 08:23:00

标签: facebook facebook-apps

我正在Facebook上开发一款应用。 从昨天起,调整大小与以下片段一起工作正常: CSS:

body, html { overflow:hidden; width:810px;margin:0; padding:0; border:0; }

关闭正文标记之前:

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" charset="utf-8">
FB.Canvas.setAutoGrow(true,100);
</script>

在Facebook上我选择了固定的高度和宽度,但由于autoGrow,这无关紧要。

从今天起它刚刚切断,我尝试了流体设置,但它没有改变任何东西。我可以删除body和html的css规则,但随后会添加滚动条。

简而言之: 调整大小不再起作用了。

重要的是要知道(也许)应用程序动态调整大小(通过JS)而不重新加载页面。

代码根本没有改变,所以我担心Facebook可能会改变什么?

此外我也试过这个js片段而没有任何影响(但无论如何都是这样):

<div id="fb-root"></div>
<script type="text/javascript">
window.fbAsyncInit = function () {
window.setTimeout(function () {
    FB.Canvas.setAutoGrow()
}, 250)
};
(function () {
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e)
}());
</script>

更新:

问题得到了正确回答,但还有一点需要注意: 仅将overflow:hidden应用于body,在我从规则中删除html后工作 - 使用旧画布,至少我之前使用过它。

同样地将代码放在标题中也没有改变任何东西,并且与将它放在正文区域的开头不同。

1 个答案:

答案 0 :(得分:1)

试试这个

<div id="fb-root"></div>
    <script src="https://connect.facebook.net/en_US/all.js"></script>
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId : 'YOUR APP ID', //Your facebook APP here
          cookie : true, // enable cookies to allow the server to access the session
        });
      }

      window.onload = function() {
        FB.Canvas.setAutoGrow(91);
      }
    </script>