我已经将Facebook 应用程序从 FBML 转换为 iFrame(使用 PHP SDK),现在显示的垂直滚动条与我之前拥有的相同数量的内容(一个徽标、一个 Flash 游戏和一行下面有 3 个链接)显示。但早些时候我没有任何滚动条。
如果我将应用程序设置为自动调整大小,那么内容的下部根本不会显示 - 这很糟糕,那么 Flash 游戏就无法玩了。
我四处搜索,所有建议的解决方案都涉及 Javascript,但我实际上使用的是 PHP SDK。没有只针对 PHP/CSS 的解决方案吗?
在我当前的代码下方:
<?php
require_once('facebook.php');
define('FB_API_ID', 'XXX');
define('FB_AUTH_SECRET', 'XXX');
$facebook = new Facebook(array(
'appId' => FB_API_ID,
'secret' => FB_AUTH_SECRET,
'cookie' => true,
));
if (! $facebook->getSession()) {
printf('<script type="text/javascript">top.location.href="%s";</script>',
$facebook->getLoginUrl(
array('canvas' => 1,
'fbconnect' => 0,
#'req_perms' => 'user_location',
)));
exit();
} else {
try {
$me = $facebook->api('/me');
$first_name = $me['first_name'];
$city = $me['location']['name'];
$female = ($me['gender'] == 'male' ? 0 : 1);
$avatar = 'http://graph.facebook.com/' . $me['id'] . '/picture?type=large';
} catch (FacebookApiException $e) {
exit('Facebook error: ' . $e);
}
}
# print the logo, the flash game and 3 links
?>
另外我不确定我的 PHP 脚本是否应该打印
<html>
<body>
.....
</body>
</html>
? 目前我只打印身体内部的东西。
我想知道用 PHP 的header('Location: ....');替换我的代码中的top.location.href=....是否是个好主意 ?