запуск функций с помощью Facebook Connect - PullRequest
2 голосов
/ 26 февраля 2009

Я пытаюсь сделать то, что должно быть довольно простым, с Facebook Connect, но безуспешно.

Когда пользователь входит в систему, я хочу показать, что информация о пользователях (обновлена ​​без перезагрузки страницы), и когда пользователь выходит из системы, мне нужно вернуться в состояние входа в систему.

код, который у меня есть

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. Но обновление страницы запускает правильную функцию.

Я получаю ошибку в firebug

'fbLogout undefined'

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

1 Ответ

3 голосов
/ 28 февраля 2009

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

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

FB.Connect.isUserConnected(update_user_box, fbLogout);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...