我有一个Facebook画布应用程序设置,其宽度和高度在高级应用程序设置中是流畅的。
我需要实现的是将我的画布应用程序的高度设置为等于Facebook侧边栏的高度(所有FB添加和链接出现的侧窗格)。 目前画布应用程序设置为流体,它将应用程序的高度设置为等于视图区域,所以会发生的情况是FB侧边栏比视图区域高一点并默认滚动页面,因此在我的画布应用程序下方创建空间。
我已经尝试将高度设置为固定,但是它会从iframe中移除滚动条(向iframe添加隐藏的溢出),这是不可取的,因为应用包含超出固定高度的内容。
检查这一点是为了更好地理解http://jsfiddle.net/v2QKN/5/
答案 0 :(得分:1)
好的,这可能不是最好的解决方案。 但是当iframe中的主体已经完全滚动时,那个空白区域一直在发生,所以主窗口滚动接管了。
所以,对我来说一个非常有效的解决方案就是在我不再需要它时停止滚动。用户将在画布内滚动99%。所以要做到这一点,我们只需要几行javascript:
$("body").on("mousewheel", function(e) {
if ( ( window.innerHeight + document.body.scrollTop) >= $("body").height() ) {
e.preventDefault();
e.stopPropagation();
document.body.scrollTop = document.body.scrollTop - 1;
}
});
在此处查看此行动:https://apps.facebook.com/hiphopexpress/
注意:鼠标滚轮事件仅由鼠标滚轮触发。尽管如此,通过此解决方案,我们正在改善绝大多数桌面用户的体验。
答案 1 :(得分:0)
无法将画布应用程序设置为侧边栏的高度,但是您可以使用固定的画布高度以及Javascript SDK setAutoGrow函数,该函数将调整应用程序所包含的框架的大小。适合它的内容。如果您不希望侧栏高于您的应用内容,我认为这是您的最佳选择。