FacebookアプリをFBMLからiFrame(PHP SDKを使用)に変換し、以前と同じ量のコンテンツ(ロゴ、フラッシュゲーム、以下に3つのリンクがある行)に対して垂直スクロールバーを表示できるようになりました。しかし、以前はスクロールバーがありませんでした。
アプリの自動サイズ変更を設定すると、コンテンツの下部がまったく表示されません。これは悪いことで、フラッシュゲームはプレイできません。
私は周りを検索し、提案されたすべてのソリューションにはJavascriptが含まれていますが、実際にはPHPSDKを使用しています。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>
?現在、私は体の中にあるものだけを印刷しています。
そして、私のコードのtop.location.href = ....をPHPのheader('Location:....');に置き換えるのは良い考えではないかと思います。?