activación de funciones con facebook connect

votos
2

Estoy tratando de hacer lo que se supone que es bastante simple con facebook connect, pero sin tener suerte.

Cuando un usuario inicia sesión, quiero mostrar los detalles de los usuarios (actualizados sin volver a cargar la página) y cuando el usuario cierra la sesión, necesito volver al estado de inicio de sesión.

El código que tengo es

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

Puedo iniciar sesión y sacar al usuario, pero nada más cambia. Ni siquiera puedo activar una alerta de mis funciones.

Por alguna razón, el html que estoy usando no se mostrará dentro de las etiquetas pre, sin embargo, al volver a cargar la página, el usuario se muestra (o no como debería), por lo que simplemente no se activa directamente desde las funciones de JavaScript. Pero actualizar la página inicia la función correcta.

El error que recibo en Firebug es

'fbLogout undefined'

, pero claramente está definido. ¿Importa donde yo lo defina? Actualmente, todos los javascript / jquery están en la cabeza dentro de las etiquetas de script. Aunque intenté moverlo a la página y tampoco tuve suerte.

Publicado el 26/02/2009 a las 19:12
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
3

Resulta que ya estaba pensando en esto. FB hace mucho del trabajo por ti. Estaba llamando a las funciones en los eventos de inicio de sesión y de cierre de sesión, pero con la función FB.Connect.isUserConnected, FB vigila esto por ti.

Mi código es exactamente el mismo excepto 1) ya no tengo eventos onclick en el botón fb: login 2) la función FB.Connect.isUserConnected ahora se ve así

FB.Connect.isUserConnected (update_user_box, fbLogout);
Respondida el 28/02/2009 a las 01:25
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more