Javascript safari上的facebook应用程序iframe登录问题

Javascript safari上的facebook应用程序iframe登录问题,javascript,facebook,iframe,Javascript,Facebook,Iframe,我有一个使用iframe的facebook应用程序 facebook在iframe中加载我的网站。当我点击一个链接时,我的网站会显示一个iframe,使用lightbox显示facebook登录。在ff(即chrome)上一切正常。在safari上,帧不断无限地重新加载 PHP代码 $me = null; $session = $facebook->getSession(); if ($session) { try { $me = $facebook->api(

我有一个使用iframe的facebook应用程序

facebook在iframe中加载我的网站。当我点击一个链接时,我的网站会显示一个iframe,使用lightbox显示facebook登录。在ff(即chrome)上一切正常。在safari上,帧不断无限地重新加载

PHP代码

$me = null;


$session = $facebook->getSession();

if ($session) {
  try {

     $me = $facebook->api('/me');

     $_SESSION['facebook'] = $me;


  } catch (FacebookApiException $e) {
  }
}

if($me) require_once("logged.php");
else require_once("login.php");
login.php中的javascript

window.fbAsyncInit = function() {




    FB.init({
    appId : '<?=$appId?>',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml : true // parse XFBML
    });

    check_login_session();

    // whenever the user logs in, we refresh the page
    FB.Event.subscribe('auth.login', function() {

        $.browser.safari = ( $.browser.safari && /chrome/.test(navigator.userAgent.toLowerCase()) ) ? false : true;

        window.location.href = window.location.href;
    });


};
window.fbAsyninit=function(){
FB.init({
appId:“”,
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
检查登录会话();
//每当用户登录时,我们都会刷新页面
FB.Event.subscribe('auth.login',function()){
$.browser.safari=($.browser.safari&&/chrome/.test(navigator.userAgent.toLowerCase())?false:true;
window.location.href=window.location.href;
});
};
任何想法都将不胜感激


谢谢

如果您仍在寻找解决方案,请尝试构建P3P标头

通常在iframe中设置cookie时会出现安全问题,p3p头充当网站和客户端计算机之间的协议,确保cookie中保存的信息不会被误用

快速解决方案:

怎么办: 复制并将其粘贴到标题中:

<?php
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"')
?>

我刚刚发现了一条有趣的评论。我认为布罗特的解决方案会起作用,但我不明白他写了什么。我找到了一个完美的解决方案,无论作者是谁,我都会接吻!!!!!我已经添加了解决方案!希望它对你有用。。。我也有同样的问题,在我意识到这个问题之前,我的头撞了mac两天!