我的 FB 应用程序在 Internet Explorer 7 中出现问题。
我正在使用 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标签之后。我也尝试在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"'>
但是这三个选项都不适合我,我的应用程序仍然会永远加载。
有人有线索吗?
提前致谢!
好吧,我阅读了一些有关相同问题的论坛:
- 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 - 但同样......没有运气。
有谁能够帮助我???