2 Stimmen

Wie haben sie Twitter oAuth hier angewendet?

Ich habe es gerade geschafft, eine oAuth-Authentifizierung für meine Twitter-Anwendung mit PHP zu erstellen.

Dann sah ich diese Seite und ich bin überrascht, wie sie ein neues Fenster öffnen, dieses Fenster schließen und dann die Anfrage im ursprünglichen Fenster fortsetzen?! Kann mir jemand mit etwas Javascript (ich nehme an, dass sie das verwenden) erklären, wie sie das gemacht haben?!

Ich stelle fest, dass sie beim Schließen des zweiten Fensters zwei GET-Anfragen stellen.

Ich möchte so etwas machen können, da meine Nutzer Inhalte auf meiner Website schreiben können und ich nicht möchte, dass diese gelöscht werden. Gibt es eine bessere Möglichkeit, die nicht so aufdringlich ist? (Fenster öffnet sich). Wenn nicht, werde ich ihre Methode verwenden, da mir nichts anderes einfällt.

Danke an alle

1voto

Pedro Cunha Punkte 164

Hier ist der Teil des JavaScript-Codes, der damit zusammenhängt:

TG.util.oauth = {
    win: null,
    timer: null,
    loginUpdate: function() {
        $.getJSON('/-login/check?format=json', TG.util.oauth.loginCallback);
    },
    loginCallback: function(data) {
        if (data && data.loggedin) {
            TG.util.login.update(data);
        }
    },
    winCheck: function() {
        if (!TG.util.oauth.win || TG.util.oauth.win.closed) {
            window.clearInterval(TG.util.oauth.timer);
            return TG.util.oauth.loginUpdate();
        }
    },
    loginClick: function() {
        TG.util.oauth.win = window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend', 
            'OAuthTwitterRequest', 
            'menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,width=800,height=400');
        if (!TG.util.oauth.win) return true;

        TG.util.oauth.timer = window.setInterval(TG.util.oauth.winCheck, 300);
        return false;
    }
};

TG.util.oauth.win = window.open('/-oauth-twitter/request?gotoafter=1&gotor=oauthtwitter&gotop=action%3Dwindowend','OAuthTwitterRequest','menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes,width=800,height=400');öffnet das oAuth-Fenster, in dem die Anmeldung erfolgt

if (!TG.util.oauth.win) return true;gibt true zurück, wenn das Fenster nicht geöffnet ist (nehme ich an).

TG.util.oauth.timer = window.setInterval(TG.util.oauth.winCheck, 300);legt einen Timer an, der alle 300 Milisekunden überprüft, ob die Anmeldung erfolgt ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X