我正在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
后工作 - 使用旧画布,至少我之前使用过它。
同样地将代码放在标题中也没有改变任何东西,并且与将它放在正文区域的开头不同。
答案 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>