0

我正在使用var userID = (FB.getAuthResponse() || {}).userID;獲取登錄用戶的ID,FB .init被正確初始化。 ,我遇到的問題是,如果我把FB ID正在返回未定義

var userID = (FB.getAuthResponse() || {}).userID; 

document.ready();爲未定義而如果我把它放在一些JavaScript函數,並調用該函數上點擊一個按鈕,它工作完全正常則返回。

任何人都知道可能是什麼問題?

我也得到這個當我嘗試直接訪問它在我的網站:

的XMLHttpRequest無法加載{稱O進行}。否 「訪問控制 - 允許來源」標題出現在請求的 資源中。原因'{我網站地址}'因此不允許 訪問。 (索引號)

PS:我沒有在我的Facebook頁面標籤中看到上面提到的錯誤,只有當我嘗試直接訪問我的網站時纔會得到這個錯誤。

回答

1

我建議使用異步的方式來檢查,如果用戶登錄,並得到他的ID:

你不應該用在頁面加載時間這個方法。一般來說,如果您不確定,則使用FB.getLoginStatus更安全。

查看Facebook文檔代碼和信息:https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus

當然,你應該FB.init之後,調用此權利。

+0

異步方式?喲意味着通過一些Ajax調用服務器? – Badddy 2014-09-24 09:55:31

+0

getLoginStatus是異步的,只需查看文檔即可。它提供了一個異步調用的回調函數。 – luschn 2014-09-24 10:02:44

+0

謝謝,但只是想知道,爲什麼點擊工作,並在頁面加載它不 – Badddy 2014-09-24 10:09:21