2009-02-26 5 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, который я использую, не будет отображаться в предварительных тегах, однако при повторной загрузке страницы пользователь отображается (или нет), поэтому он просто не запускается непосредственно из функции javascript. Но обновление страницы запускает правильную функцию.

Я получаю ошибку в поджигатель является

'fbLogout неопределенного'

, но очевидно, что оно определенно. Имеет ли значение, где я его определяю? В настоящее время все javascript/jquery находятся в голове в тегах скриптов. Хотя я попытался переместить его на страницу, и им тоже не повезло.

ответ

3

Оказывается, я уже думал об этом. FB делает для вас много работы. Я вызывал функции при регистрации и выходе из системы, но с функцией FB.Connect.isUserConnected FB следит за этим для вас.

Мой код точно так же, за исключением того, 1) я больше не OnClick событий в фб: кнопка входа 2) функция FB.Connect.isUserConnected теперь выглядит следующим образом

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

+1 для для принимая время, чтобы опубликовать свой собственный ответ. – zombat

+0

I второй. Получать ответ помогает. –

Смежные вопросы