我遇到的问题是我的Facebook应用页面没有调整高度。我知道有很多人有类似问题的问题。但我已经尝试设置FB.Canvas.setSize(),FB.Canvas.setAutoGrow()和一个“应该”每2秒调整一次画布页面的功能,但没有任何作用。
修改
我现在尝试使用 工作的最小代码(就像我理解的那样),但事实并非如此。
以下是代码:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test</title>
<style type="text/css">body { overflow: hidden; }</style>
</head>
<body>
<div id="fb-root"></div>
<script type="text/javascript" src="https://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: "xxxxxxxxxxxx",
cookie: true
});
};
window.onload = function() {
FB.Canvas.setAutoGrow(100);
}
</script>
<div style="height: 1000px; width: 20px; background-color: #006;"></div>
<div>End</div>
</body>
</html>
以下是应用设置的屏幕截图:
答案 0 :(得分:1)
您不应该同时需要两个调整大小的功能。只需在FB.Canvas.setAutoGrow()
来电后的某个时刻拨打FB.init()
。
答案 1 :(得分:1)
如果您的站点不需要多次调整大小,则应该只使用FB.Canvas.SetSize()来节省CPU-Power;)
答案 2 :(得分:1)
我遇到的问题是,AutoGrow完全按照它在锡上所说的那样做。它会增长页面(提示:它不会缩小它)。我们最终得到的是:
FB.init({
appId : 'appid',
status : true,
cookie : true
});
FB.Canvas.setSize({height:600});
setTimeout("FB.Canvas.setAutoGrow()",500);
答案 3 :(得分:1)
我可以解决这个问题,这是我所做的改变:
我不知道是否所有这些步骤都是必要的。
以下是有效的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test</title>
<style type="text/css">body { overflow: hidden; }</style>
</head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: "xxxxxxx",
status : true,
cookie: true
});
FB.Canvas.setAutoGrow();
};
(function(d, debug){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ true));
</script>
<!-- page content -->
</body>
</html>