Lorsque vous traitez OAuth depuis le serveur, comme Twitter et Facebook, vous redirigerez probablement l'utilisateur vers une URL demandant l'autorisation de l'application. Habituellement, après avoir cliqué sur un lien, vous envoyez la demande au serveur, via AJAX, puis renvoyez l'URL d'autorisation.window.open sans bloqueur de fenêtres contextuelles utilisant AJAX et manipulation de window.location
Mais lorsque vous essayez d'utiliser window.open
lorsque la réponse est reçue, votre navigateur bloque le popup, le rendant inutile. Bien sûr, vous pouvez simplement rediriger l'utilisateur vers la nouvelle URL, mais cela corrompt l'expérience de l'utilisateur, et c'est ennuyeux. Vous ne pouvez pas utiliser IFRAMES, mais ils ne sont pas autorisés (car vous ne pouvez pas voir la barre d'adresse).
Alors, comment le faire?
Ceci est un très bon travail, mais si vous utilisez FB.ui(), je ne pense pas que cela fonctionnera. – deathemperor
EDIT: mon mauvais, j'ai mal interprété votre phrase. Oui, je pense que l'utilisation de FB.ui ne fonctionnera pas, car cela ne fonctionne que si vous pouvez rediriger la boîte de dialogue vers une nouvelle URL. Si le FB.ui a une contrepartie côté serveur, alors cela fonctionnera. – pocesar
Il s'agit d'une solution de contournement fantastique et simple qui permet de s'assurer que les popups ouverts par ajax obtiennent le focus. merci pocesar! – neokio