这不是滚动条问题。事情就是这样:
您加载Facebook画布应用并执行 FB.Canvas.setSize({height:900}); (工作)
< / LI>您转到应用的另一部分(某个链接),然后执行 FB.Canvas.setSize({height:1300}); < / p>
第二步不起作用。应用iframe保持在900px高度。
我需要的是在设置之后动态更改画布高度。根据Facebook文档,这应该工作。它们没有指定在设置后是否可以更改画布高度。
我在页面选项卡上尝试了相同的方法并且它可以工作,我可以使用setSize()正确调整选项卡的高度,但是,看起来画布页面的行为方式不同(?)。
这是我正在使用的代码,在打开 body 标记之后:
<div id="fb-root"></div>
<script type="text/javascript">
<!--
window.fbAsyncInit = function() {
FB.init({appId: "XXXXXXXXXXXXXXXXXXXXX",
status: true,
cookie: true,
xfbml: true});
};
(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);
}());
window.fbAsyncInit = function() {
FB.Canvas.setSize({height:1300});
}
//-->
</script>
设计师使用不同的高度创建了一个Canvas应用程序,到目前为止,实现起来很痛苦。
答案 0 :(得分:1)
你在两个不同的地方为window.fbAsyncInit分配了不同的东西。您应该摆脱第二个分配,并在FB.Canvas.setSize
来电之后将FB.init
来电转移到右侧(或替换FB.init
来电,因为如果您不需要它,则不需要它只使用SDK进行大小调整;如果你正在使用它进行身份验证,显然要保留它。)