我有一个网站,使用FB登录用户,并作出一个FB图形调用,以获取他们的信息。问题是它不适用于IE9、10或11,但在Chrome和火狐中工作。守则如下:
<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的响应的控制台日志返回用户已连接的响应。谢谢你的帮助!
发布于 2014-03-04 03:26:14
如果有人关心这个问题,IE需要在服务器上设置P3P头。
https://stackoverflow.com/questions/21923681
复制相似问题