Wie machen FB.ui({ method: 'auth.login',...) mit display: 'iframe', anstatt 'popup'?

Ich arbeite an einem login für eine einfache Facebook-app. Ich bin in der Lage, die JavaScript-SDK verwenden, um erfolgreich für ein login /erweiterte Berechtigungen-dialog in einem popup-Fenster, die entweder mit FB.login oder den folgenden code:

FB.ui({ method: 'auth.login',
    perms: 'read_stream,publish_stream',
    display: 'popup' },
    function (rsp) {
        fg_log('on login');                             
        if(rsp.session) { 
            if(rsp.perms) {
                fg_log('PERMS: ',rsp.perms);
            } else {
                fg_log('Hmm. No permissions');
            }
        } else {
            fg_log('Hmm. No login');
        }
    }
);

Das problem ist... ich weiß nicht, wie popup windows viel. Aus UI-Sicht, ich denke, Sie fühlen sich, wie Sie gehören nicht zum rest der app. Und Sie zu zeigen, bis über JavaScript erfordern auch eine extra-Klick auf die der Benutzer ohne Grund-um zu umgehen, popup-Blocker, hat der Benutzer zum Klick auf etwas wie eine login-Schaltfläche (weitgehend sinnlos, da durch die Zeit, die die app kennt, die es braucht, um die Anzeige eines login-button, der es bereits weiß, muss der Benutzer-log-in und kann auch nur das Dialogfeld Berechtigungen).

So, ich dachte, warum nicht ein iframe statt? Keine Probleme mit popup-Blocker, schön eingebettet in die Seite, und Facebook scheint es zu lieben 'em.

Ein wenig Graben in der jüngsten (2.1.2) JavaScript-SDK source und diverse andere Beiträge auf der Facebook developers forum scheint darauf hinzudeuten, dass einem passieren kann "display: 'iframe'" als Teil der Optionen, um FB.ui.

Aber wenn ich es versuche, obwohl das iframe macht kommen, anstatt die Berechtigungen dialog, den ich bekommen:

"Ein Fehler ist aufgetreten mit . Bitte versuchen Sie es später erneut."

(Hinweis: versuchen Sie später erneut, liefert die gleichen Ergebnisse.)

gibt es da einen trick, um dieses zu erhalten, um zu arbeiten, oder ist es verboten, aus irgendeinem Grund?

  • Dies ist nicht wirklich eine Antwort... aber ich habe gesehen, unterschiedlichem Verhalten, wo Facebook wird manchmal zeigt und manchmal zeigen Sie das anderen, je mehrere Dinge, die außerhalb meiner Kontrolle.
InformationsquelleAutor Weston C | 2010-11-30
Schreibe einen Kommentar