2009-02-26 55 views
2

我試圖做什麼應該是相當簡單的facebook連接,但沒有運氣。觸發與facebook的功能連接

當用戶登錄時,我想要顯示用戶詳細信息(刷新時不重新加載頁面),以及用戶何時註銷,我需要返回登錄狀態。

我的代碼是

function update_user_box() 
{ 
    jQuery('span#loggedin').html('<fb:profile-pic uid="loggedinuser" facebook-logo="true"></fb:profile-pic><fb:login-button size="small" onclick="fbLogout()" autologoutlink="true"></fb:login-button>'); 
    jQuery('span#fbLogin, ul#otherLogin').hide(); 
    jQuery('div#popForecast li.otherLogin, ul.showList li.otherLogin').remove(); 
    jQuery('span#logged').text('1'); 
    FB.XFBML.Host.parseDomTree(); 
} 

function fbLogout() 
{ 
    FB.Connect.logout(); 
    jQuery('span#fbLogin').show(); 
    jQuery('span#loggedin').empty(); 
    jQuery('span#logged').text('0'); 
} 
FB.init('c0529b8c11709f2317ae643d854e3866', 'xd_receiver.htm'); 
FB.ensureInit(function(){ 
    FB.Connect.ifUserConnected(update_user_box); 
}); 

我可以和註銷用戶,但沒有別的變化。 我甚至無法觸發我的功能提醒。

由於某些原因,我正在使用的html不會顯示在pre標籤內,但是,在重新加載頁面時,顯示用戶(或不是它應該),所以它不會直接從javascript函數。但刷新頁面啓動正確的功能。

我的螢火得到的錯誤是

'fbLogout未定義'

,但很明顯,它被定義。我定義它的位置有關係嗎? 目前,所有的javascript/jquery都在腳本標籤的頭部。儘管我已經嘗試將它移到頁面中,但它們都沒有運氣。

回答

3

原來我是在想這個。 FB爲你做了很多工作。 我正在調用登錄和註銷事件上的函數,但使用FB.Connect.isUserConnected函數,FB會爲您關注此問題。

我的代碼是完全不同的 1相同),我再也不用的onclick在FB事件:登錄按鈕 2)FB.Connect.isUserConnected函數現在看起來是這樣

 
FB.Connect.isUserConnected(update_user_box, fbLogout); 
+0

+1爲花時間發佈自己的答案。 – zombat 2009-05-01 17:28:55