J'utilise une méthode de connexion Facebook dans mon code sur la charge de la page, mais lorsque j'exécute ce code, le bloqueur Pop-up ferme la fenêtre de permission Facebook.
Comment puis-je ouvrir cette fenêtre avec ci-dessous est mon code: p> JavaScript < / Code> Sans avoir besoin de faire une exception dans le bloqueur pop-up? p>
5 Réponses :
Si vous essayez d'ouvrir une popup automatiquement, il est possible que les bloqueurs contextuels soient activés, autant que je sache, il doit être basé sur une action de l'utilisateur, par exemple en cliquant sur un bouton. Essayez d'exécuter ce code en cliquant sur un bouton, cela devrait fonctionner. P>
Oui Arnab! Il peut gérer via un événement de clic, mais j'ai besoin de montrer ceci à la page charge. Avoir une idée ???
Essayez document.getelementByID ('ShareButtonID'). Cliquez sur () CODE>
Il n'y aurait pas de point dans les bloqueurs contextuels existants si vous pouviez simplement les coder autour d'eux. Vous devrez soit trouver une méthode qui n'utilise pas une fenêtre contextuelle ni besoin d'une interaction de l'utilisateur avec le navigateur pour ouvrir la fenêtre contextuelle. P>
Je ne veux pas utiliser l'interaction utilisateur, BCoz après avoir cliqué sur mon invité de lien d'invitation, rendez-vous sur ma maison où je souhaite montrer une permission de Facebook Popup sans aucune interaction utilisateur.
Ceci est spécifiquement refusé dans la documentation: p>
"Vous ne devez appeler cela que sur un événement utilisateur car il ouvre une fenêtre contextuelle. La plupart des navigateurs bloquent des popups, à moins qu'ils n'étaient initiés à partir d'un événement utilisateur, tel qu'un clic sur un bouton ou un lien." P>
C'est aussi simplement pauvre UX. P>
Je suis fortement en désaccord que c'est "simplement pauvre UX". Il est moins impossible d'éviter une popup, surtout i> dans le cas où l'utilisateur est déjà i> connecté à Facebook, où une popup apparaît et disparaît rapidement. Je dirais que c'est mieux la conception UX de rediriger pour OAuth plutôt que d'ouvrir une popup.
NEWDMIND mon commentaire ci-dessus ... Ce que je disais était en ce qui concerne une interaction initiée par l'utilisateur, je n'avais pas fait attention au fait que l'OP cherchait un moyen de clandestinement i> les autoriser via Facebook.
Vous pouvez faire quelque chose comme -
var uri = encodeURI('http://example.com'); FB.getLoginStatus(function(response) { if (response.status === 'connected') { window.location.href=uri; } else { window.location = encodeURI("https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri="+uri+"&response_type=token"); }
Intéressant, mais demandez-vous des autorisations spécifiques telles que "{perms: 'email, user_birthday, publication_stream'}"?
Dans l'URI de Rediriger OAuth, en utilisant un paramètre supplémentaire GET 'STACHET'. Vérifiez développeurs.facebook.com/docs/reference/dialogs/oauth
Ouais, vous devez l'appeler avec un événement utilisateur, mais strictement le onclick code> événement, pas d'autre:
N'importe qui a une idée de montrer la fenêtre de permission de Facebook dans Iframe, il peut être résolu de problème de blocage popup. Avoir des ??
Voir la réponse possible ici: Stackoverflow.com/questions/11779955/...