2012-07-20 4 views
0

J'utilise le SDK JS pour créer un lien vers Facebook. Après l'initialisation (FB.init()), je vois le bouton Login. Après avoir cliqué dessus, cela me demande de me connecter. Ensuite, la boîte de dialogue disparaît après que je me connecte, malgré le fait que j'utilise FB.Event.subscribe() pour ajouter un gestionnaire à l'événement auth.login.Les événements JavaScript du SDK ne se déclenchent pas

Notez que j'inclus le fichier all.js de Facebook en utilisant une balise en html qui est traitée avant ce code.

voici mon code:

FB.init({ 

          appId:myId, 
          channelUrl:myChannelUrl, 
          cookie:true, 
          status:true, 
          xfbml:true 
        }); 
      FB.Event.subscribe('auth.login',function(response) { 
          alert("your event finally fired!!!"); 
      }); 
      FB.Event.subscribe('auth.logout',function(){ 
        alert("you logged out"); 
      }); 

Maintenant, quand je me connecte ou le journal, rien ne se passe. La boîte de dialogue facebook s'en va tout simplement. Si j'utilise intentionnellement des informations d'identification incorrectes pour tenter de me connecter, la boîte de dialogue rejette correctement la tentative, ce qui prouve que la chose communique bien avec Facebook. Le problème semble être que l'événement ne tire pas.

merci pour toute aide ici.

Répondre

1

Abonnez-vous à cet événement à la place.

FB.Event.subscribe('auth.statusChange', handleStatusChange);  

et dans votre javascript,

function handleStatusChange(response) { 
if(response.authResponse == 'connected') 
//do something 
else 
//do something else 
} 

Ref: http://www.facebookmobileweb.com/hello/

+0

merci sombre. Mais ça ne marche toujours pas. Y at-il un moyen de voir une sorte de console d'erreur en temps réel sur la fin de Facebook? Donc je peux voir ce qu'ils voient? –

+0

Très probablement, ce n'est pas un problème avec la fin de facebook. Voyez cet exemple que j'ai donné sous la réf. Ce javascript fonctionne et il utilise le 'auth.statusChange' que j'ai décrit. –

+0

Cette question est répondue (je l'ai compris). Stack, cependant, ne me laissera pas répondre à ma propre question (pas assez de réputation?). –

Questions connexes