2014-02-21 23 views
0

我有一个网站,使用FB SDK登录用户,并进行FB图形调用以获取他们的信息。问题在于它在IE9,10或11中不起作用 - 但它适用于Chrome和Firefox。代码如下:Facebook的JS SDK图形调用返回错误在Internet Explorer 9-11

<script src="https://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
    appId: '{ AppId }', 
    xfbml: true, 
    cookie: true 
    }); 
</script> 

初始化SDK。然后我们有一个客户端库,它具有以下功能来获取用户的Facebook信息。

window.rest = { 

getUserFbInfo: function(fn){ 
    rest.checkLoginStatus(function(){ 
    FB.api('/me', function(userData){ 
     console.log('userData', JSON.stringify(userData)) 
     fn(userData); 
    }); 
    }); 
}, 

checkLoginStatus: function(fn){ 
    FB.getLoginStatus(function(res){ 
    if (res.status === 'connected'){ 
     fn(); 
    } else { 
     FB.login(function(){ 
     FB.getLoginStatus(function(res){ 
      if (res.status === 'connected'){ fn(); } 
      else { return; } 
     }); 
     }, { scope:'email,user_birthday,user_location,publish_actions,user_likes' }); 
    } 
    }); 
} 

}; 

的问题是在第一功能。我从控制台日志得到的输出(字符串化,使其更容易在IE调试)是这样的:

userData {"error":{"type": "http", "message": "unknown error"}} 

没有显示,但是从FB.getLoginStatus响应的控制台日志返回用户连接。谢谢您的帮助!

回答

0

如果有人关心这个问题,IE需要在服务器上设置P3P头。