Facebook login sans pop-up?
Je suis en train de faire un simple facebook app, mais pour l'autorisation, il semble que c'est toujours bloqué par un pop-up blocker. Mon code est donc:
FB.init({
appId : THEAPPPIDDDD,
status : true,
cookie : true,
xfbml : true,
});
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(response) {
FB.logout(function(response) {
console.log('Logged out.');
});
});
} else {
console.log('User did not authorize.');
}
});
Toute aide serait grandement apprécié... merci
Je pense que c'est impossible de faire Facebook connexion sans pop-up - de par leur conception. Il serait mauvais de sécurité. Pour éviter la plupart des bloqueurs de pop-up à partir de blocage des pop-up, vous devez vous assurer que le pop-up est une conséquence directe de l'utilisateur, cliquez sur. Les Pop-ups qui ne sont pas initiées par l'utilisateur ont tendance à être bloqué.
OriginalL'auteur Dave Zhang | 2011-08-19
Vous devez vous connecter pour publier un commentaire.
J'ai conscience que cette question est un double possible de une autre question: Arrêter le facebook bloqueur de pop-up je suis reposter ce à l'aide de Dave Zhang. J'ai adapté ce code pour un de mes site. Dans le code suivant, remplacez le YOUR_APP_ID et l'url de votre site, puis le Facebook login sera pop-up de moins.
Ce sera juste rediriger directement au lieu de l'ouverture d'un pop-up.
top.location.href = 'URI_TO_REDIRECT'
lors de la redirection dans un iframe dans FacebookJ'ai essayé à l'aide de méthode de redirection, mais j'obtiens l'erreur que mon domaine n'est pas inclus dans l'application. Mais je l'ai fait. Voir cette image fic.co/d8bBrm Voir la deuxième image où j'ai déclaré le domaine de l'application - fic.co/erMBrm – Abhay Srivastav il y a 1 heure
si vous n'êtes pas déjà connecté, cela vous amènera à une page en disant "Non Connecté: Vous n'êtes pas connecté. Connectez-vous et essayez de nouveau."
OriginalL'auteur Y P
Vous devriez lancer votre code de connexion sur le clic de quelques boutons. Comme une bonne pratique qui traitent de FB, le processus d'ouverture de session doit toujours être initié par l'utilisateur.
Composez votre code de clic d'un bouton et cela devrait RÉSOUDRE votre problème.
OriginalL'auteur Purusottam Kaushik
d'éviter de faire la connexion via un pop-up, vous devriez le coup d'envoi de l'authentification sur le serveur
OriginalL'auteur Eddy Chan
Le bloqueur de pop-up seront toujours lancer si le Popup d'action n'a pas son origine dans un événement causé par un utilisateur. Par exemple, si vous essayez de faire un popup sur un événement de chargement, le navigateur le plus susceptibles d'utiliser le bloqueur de pop-up. D'autre part, si vous déclenchez le popup sur un événement de clic ou de l'événement keydown, il est moins probable que le bloqueur de pop-up sera déclenchée.
Vous pourriez également employer une méthode qui a votre demande détecter si oui ou non le popup a été bloqué. Vous pouvez lire plus à ce sujet ici.
Comme mentionné dans d'autres réponses, si vous préférez faire le processus d'authentification sans popups à tous, vous avez besoin de gérer cela au côté serveur en utilisant le protocole OAuth.
OriginalL'auteur Fareesh Vijayarangam
Petite mise à jour pour cette vieille question, que j'ai trouvé très utile, j'ai été reçois l'erreur dont le domaine n'est pas autorisé et il a été autorisé:
Ne peut pas Charger l'URL: Le nom de domaine de l'URL n'est pas incluse dans l'application de domaines. Pour être en mesure de charger cette URL, ajouter tous les domaines et sous-domaines de votre application sur l'App Domaines champ dans les paramètres de votre app.
donc, après de petites recherches, j'ai découvert que vous avez à changer votre facebook app paramètre pour permettre une telle navigation:
OriginalL'auteur talsibony