好的,所以我一直在研究一个改变每个页面高度的FB应用程序。我,显然在我的应用程序布局中使用了setAutoResize函数,我有以下内容:
window.fbAsyncInit = function() {
FB.init({appId: '###', status: true, cookie: true, xfbml: true});
FB.Canvas.setAutoResize();
};
它在IE,Safari和Chrome中运行良好,但在FF4中运行不正常。我也用过:
window.setTimeout(function() {
FB.Canvas.setSize({height: $('body').height()});
}, 1000);
但也没有运气。以前有没有人经历过这个? tnx提前。 标记
答案 0 :(得分:2)
已经提供了答案,但我不妨发布解决问题的方法。在Firefox中,即使您的页面适合,滚动条仍然是iFrame的一部分。他们只是没有蓝色卷轴。这增加了约20px。
我认为你的jQuery解决方案不会起作用,因为height()没有考虑边距和填充。也许试试这个。
FB.Canvas.setSize({ height: $(document.body).outerHeight(true) + 20, width: 760 });
答案 1 :(得分:1)
我把它添加到我的css中它似乎有用(没有用我的autoresize捣碎):
body {
margin-top: -20px;
padding-top: 20px;
}
如果你已经在身体顶部添加了填充物,则可能需要添加20px。
我认为这是因为firefox以不同于其他浏览器的方式测量身高。
在ff8,chrome16和ie9中测试,没有任何负面影响。
答案 2 :(得分:0)
听起来这可能是个错误?查看: http://bugs.developers.facebook.net/show_bug.cgi?id=10889
如果这影响你就投票了:)
答案 3 :(得分:0)
仅供参考警告!根据Facebook Developer Roadmap FB.Canvas.setAutoResize
,我们将于2012年7月5日将其重命名为FB.Canvas.setAutoGrow
。
从页面:
我们已将FB.Canvas.setAutoResize重命名为FB.Canvas.setAutoGrow所以 该方法更准确地表示其功能。 FB.Canvas.setAutoResize将于7月5日停止工作。我们会 在8月1日完全删除该功能。