我有一个只能通过粉丝页面运行的Facebook应用程序
转到app:http://apps.facebook.com/imageassistant/(你应该有一个粉丝页来检查这个)
我需要使用固定宽度值尽可能多地增加画布页面的高度(如果您运行我的应用程序,您会看到)
我有一个index.php文件,其中包含fbmain.php文件
//index.php
<?php
include_once "fbmain.php"; // this file do all authentication parts
//some codes
?>
我需要在我的应用中调整所有页面的大小 我从facebook developer page
找到了与此相关的一些代码window.fbAsyncInit = function() {
FB.Canvas.setSize();
}
// Do things that will sometimes call sizeChangeCallback()
function sizeChangeCallback() {
FB.Canvas.setSize();
}
和这个
FB.Canvas.setSize({ width: 640, height: 480 }); // Live in the past
但我不知道如何在我的应用程序中使用这些代码,我应该把它们放在哪里?
我是否已将此代码放入应用程序中的每个文件中?
我是否还必须更改开发人员应用页面中的应用设置? (IFrame大小显示滚动条或自动调整大小之前)
任何人都可以发表完整的答案,包括我应该把它放在哪里?
注意:我使用的是php sdk
答案 0 :(得分:3)
但我不知道如何在我的应用程序中使用这些代码,我应该把它放在哪里?
有许多有效的方法可以做到以下几点:
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<!-- YOUR HEADER CONTENT -->
</head>
<body>
<div id="fb-root"></div>
<!-- You Page Content HERE -->
<script>
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});
FB.Canvas.setSize();
};
(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>
</body>
</html>
我是否已将此代码放入应用中的每个文件中?
如果您希望iFrame调整大小,则需要在每个页面中包含此类代码。
我是否还必须更改开发者应用页面中的应用设置?
为此,您需要在开发者应用程序中选择自动调整大小选项。
如果您的内容是动态的,那么您还想考虑FB.Canvas.setAutoResize。
你也可能会遇到FB.Canvas.setSize过早触发的问题,在这种情况下你可以使用setTimeout来延迟它 - 从经验我发现200ms是最佳的:
window.fbAsyncInit = function() {
FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});
window.setTimeout(
function() {
FB.Canvas.setAutoResize();
},
200
);
};
答案 1 :(得分:1)
只需在项目中加入javascript SDK文件即可。
然后使用script标签src属性在index.php文件和index.php中包含上述文件,编写此代码:
<?php
echo '<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({appId:'Your AppID here', status: true, cookie: true,
xfbml: true});
FB.Canvas.setSize({ width: 640, height: 720 });
};
</script>';
?>
这会将画布大小设置为指定的宽度和高度 您应用中的网页。