Internet Explorer 7 で FB アプリに問題があります。
少し前にFBから提供されたこのコードを使用しています:
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. FACEBOOK_APP_ID . "&redirect_uri=" . urlencode(CANVAS_PAGE . 'index.php') . "&scope=user_likes,publish_stream";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
// If first time we use the application -> ask for permissions
if (empty($data["user_id"]))
{
echo("<script> top.location.href='" . $auth_url . "'</script>");
}
// else display the page code
else
{
}
このコードを使用すると、ページは正しく読み込まれますが、1 秒後に再読み込みが行われるため、使用できなくなります。
行のコメントを外すことによって
echo("<script> top.location.href='" . $auth_url . "'</script>");
問題は解決しました(ところで、私の場合、コードはこの行を実行すべきではありません...使用されていないコード行のコメントを外すと問題が解決するのはとても奇妙ですが、とにかく...)
いくつかのフォーラムを読んだ後、この問題は P3P ヘッダー関連の問題であるという印象を受けました。だから私はこの行を追加しようとしました:
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
body タグの後。また、ボディタグの直前に追加しようとしましたが、最終的にメタタグとして追加しようとしました:
<meta http-equiv="P3P" content='CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM CURa ADMa PHY ONL COM STA"'>
しかし、これらの 3 つのオプションはどれもうまくいきませんでした。私のアプリはまだ永遠に読み込まれます。
誰にも手がかりがありますか?
前もって感謝します!
さて、私は同じ問題に関連するいくつかのフォーラムを読みました:
- http://facebook.stackoverflow.com/questions/5808187/facebook-app-loads-fine-in-firefox-but-keeps-reloading-in-internet-explorer-7-8
- http://facebook.stackoverflow.com/questions/5986373/facebook-app-canvas-page-keeps-refreshing-on-internet-explorer-ie7
しかし、これらの解決策はどれも私にとってはうまくいきませんでした.
私の問題を解決すると思ったフォーラムも読みました - http://adamyoung.net/IE-Blocking-iFrame-Cookies - しかし、やはり...運が悪いです。
誰でも私を助けることができますか?