2009-02-26 30 views
2

Ben facebook bağlantısı ile oldukça basit olması gerekiyordu, ama hiçbir şans sahip olmaya çalışıyorum çalışıyorum.tetikleme fonksiyonları

Bir kullanıcı oturum açtığında, kullanıcıların ayrıntılarını (sayfayı yeniden yüklemeden yenilenen) göstermeyi ve kullanıcının oturumu kapattığını, oturum açmış duruma geri dönmem gerektiğini göstermek istiyorum.

Ben kodu

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); 
}); 

ben ve dışarı kullanıcı giriş yapabilirsiniz, ama başka bir şey değişir. İşlevlerimden bir uyarı bile alamıyorum.

Nedense kullanıyorum html ön etiketler içinde görüntülenmez, ancak, sayfayı yeniden yüklerken, kullanıcı görüntülenir (veya olması gerektiği gibi değil), bu nedenle doğrudan doğrudan tetiklenmez Javascript fonksiyonları. Ancak sayfayı yenilemek doğru işlevi başlatır.

Ben kundakçı olsun hata

'tanımsız fbLogout' olmakla açıkça tanımlanmıştır. Onu nerede tanımladığım önemli mi? Şu anda javascript/jquery'nin tamamı komut etiketlerinin içinde yer almaktadır. Her ne kadar ben de onu sayfaya indirmeye çalıştım ve onların da şansı yoktu.

cevap

3

Görünüşe göre bunu düşünüyordum. FB senin için çok çalışıyor. Oturum açma ve oturum kapatma olaylarında işlevleri çağırıyordum, ancak FB.Connect.isUserConnected işleviyle FB bunu sizin için bir göz önünde bulundurur.

Kodum tam ben artık onclick fb olayları var) 1 hariç aynıdır: giriş butonu 2) FB.Connect.isUserConnected fonksiyonu şimdilik bu

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

+1 gibi görünüyor kendi cevabınızı yayınlamak için zaman ayırın. – zombat

+0

I ikincisi. Bir cevaba sahip olmak yardımcı olur. –