好吧,我做了一些事情来让它工作。
(1) 在我的应用程序设置中,在 Facebook 集成选项卡下的 IFrame 大小下,我选择了自动调整大小而不是显示滚动条。
(2) 我加载了 Facebook 连接 API(见下面的代码)。
(3) 我在两个不同的地方调用了 FB.Canvas.setAutoResize(100)。我调用了两次,因为我不清楚哪个位置可以更快地生效。在早期测试中,我看到 iframe 高度开始变短(可能 800 像素高),然后增长到我的内容的完整大小(可能 1100 像素高)。在随后的测试中,iframe 会立即调整大小,所以我看不到这两种状态。所以我对这里的时间/机制并不完全清楚。
<body>
<div id="fb-root">
</div>
<script src="http://connect.facebook.net/en_US/all.js" type="text/javascript"></script>
<script type="text/javascript">
FB.init({
appId : 'your app id here',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : false // parse XFBML
});
FB.Canvas.setAutoResize( 100 );
</script>
... the rest of the page body goes here ...
<script type="text/javascript">
FB.Canvas.setAutoResize( 100 );
</script>
</body>