我正在 facebook 上开发一个应用程序。从昨天开始,使用以下代码段调整大小工作正常: CSS:
body, html { overflow:hidden; width:810px;margin:0; padding:0; border:0; }
在结束 body 标签之前:
<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 上,我选择了固定的高度和宽度,但由于自动增长,这并不重要。
由于今天它刚刚被切断,我尝试了流体设置,但它没有改变任何东西。我可以删除 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
从规则中删除后起作用 - 与旧画布一起使用,至少我以前使用过它。
同样将代码放在标题中也没有改变任何东西,并且与将其放在正文区域的开头不同。