Comment fermer la fenêtre de connexion contextuelle de Facebook après la connexion de l'utilisateur?
-
05-07-2019 - |
Question
Ci-dessous, mon code. Pour une raison quelconque, une fois que l'utilisateur s'est connecté à la petite fenêtre contextuelle, celle-ci sera redirigée vers '/ ". avec beaucoup de session JSON indésirable à la fin de l'URL.
Comment puis-je faire en sorte que la petite fenêtre se ferme et que ma fenêtre parent soit actualisée?
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"></script>
<fb:login-button v="2" onlogin='window.location("/test");' size="medium">Connect</fb:login-button>
<script type="text/javascript">FB.init("XXXXX",'/xd_receiver.htm');</script>
La solution 6
Je le résous. Cela concernait mes paramètres dans la page FAcebook.
Autres conseils
Je viens de résoudre un problème similaire, lorsque vous vous connectez à l'aide de la fenêtre contextuelle de connexion à Facebook et que celle-ci se ferme, la page ne s'est pas actualisée.
Mon application Facebook n'a pas été correctement configurée. Il suffit d'aller dans les paramètres de votre application sur Facebook et de spécifier l'URL du site correcte (dans la section Site Web). Si vous le testez localement, vous pouvez ajouter http: // localhost /
.J'espère que ça aide!
Rechargement de page
Essayez de définir l'indicateur reloadIfSessionStateChanged
pour FB.init
. Par exemple,
FB.init( "myAPIkey",
"path/to/xd_receiver.htm",
{"reloadIfSessionStateChanged": true}
);
À partir de l'API Facebook
reloadIfSessionStateChanged
bool - Si la valeur est true, Facebook surveillera les changements dans l'état de la session et rechargez la page en cours si le changements d'état de session. Cette option est pratique pour une mise en œuvre qui doit recharger la page chaque fois changement d'état de session afin de générer un contenu différent à partir du serveur côté.
Pour plus d'informations, consultez http: // développeurs .facebook.com / docs /? u = facebook.jslib.FB.Facebook.init
La fenêtre contextuelle n'est pas fermée
J'ai constaté que votre fenêtre contextuelle pouvait ne pas fermer si votre chemin / vers / xd_receiver.html
était incorrect ou si votre fonction onlogin
pour votre bouton de connexion n’est pas défini, veillez donc à les vérifier deux fois.
J'espère que ça aide!
Vous pouvez utiliser l'attribut onlogin de cette façon:
onlogin="document.location.href=document.location.href;"
Ceci sera exécuté par l'ouvreur (rafraîchissement de la page).
Si vous supprimez l'attribut onlogin, la fenêtre contextuelle se ferme également, mais la page ci-dessous ne s'actualise pas.
J'ai écrit un tutoriel sur l'intégration d'une communauté à Facebook Connect, vous pouvez le lire ici .
Il semble que votre code comporte un "h" aléatoire. Cela pourrait-il être gênant avec la fonctionnalité JS?
FB.init("XXXXX",'/xd_receiver.htm'h);
^
Ma fenêtre contextuelle ne se fermait pas (lors de la publication dans un flux) car je n'avais pas le fichier channel.html au bon endroit. Après la publication, le message est redirigé vers le fichier channel.html afin (en partie) de fermer la fenêtre contextuelle. Ne pas l'avoir au bon endroit signifiait donc qu'elle ne se fermait pas.