2014-02-21 37 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頭。