Refresh nach Login in Popup (wie bei Facebook)

kuhlmaehn

Erfahrenes Mitglied
Hi,
auch wenn mir der Satz "wie bei Facebook" häufig auf die Nerven geht hätte ich mal eine Frage dazu.
Auf manchen Seiten kann man sich ja mit seinem Facebook-Account einloggen. Hierfür öffnet sich ein Popup einer Facebook-Seite, in der man sich normal bei Facebook einloggt. Klickt man allerdings auf "Einloggen", wird die ursprüngliche Seite neu geladen. Meine Frage ist nun, wie das funktioniert.
Ich könnte mir z.B. vorstellen, dass Facebook nach dem einloggen eine URL des Servers läd und hier wird ein Cookie gesetzt. Die Seite überprüft nun alle paar Sekunden, ob der Cookie gesetzt ist. Das kann aber eigentlich nicht sein, da ja dafür extra ein Server-Script eingerichtet werden müsste.
Alle anderen Möglichkeiten die mir einfallen kommen wegen der cross domain policy für mich eigentlich nicht in Frage!?
Danke!
 
Oh wusste ich gar nicht, danke :)
An JSONP hatte ich auch gedacht, aber das müsste dann ja in etwa so funktionieren!?
Facebook generiert dynamisch eine Javascript-Datei, die entweder nichts enthält, wenn der User nicht eingeloggt ist oder den Befehl zum Refresh, wenn der User eingeloggt ist. Diese wird nun auf der Seite mit dem Login jede Sekunde neu eingebunden.
Oder so ähnlich? An dem "jede Sekunde neu einbinden" kommt man allerdings nicht vorbei oder?
Sonst werd ich mich wohl mal durch den Code lesen müssen :)
 
Ich denke es läuft eher so:

Das Fenster wird geöffnet und man hat eine Referenz darauf. Sobald es geschlossen wird (Nutzer schließt es, oder es wird automatisch geschlossen wenn man sich eingeloggt hat) prüft man, ob der Nutzer jetzt eingeloggt ist oder nicht (diese Ja/Nein Antwort kommt dann per JSON). Jetzt kann man darauf auf der eigenen Seite reagieren.
 
Ah perfekt, dank dir! Dass man den 'Status' eines geöffneten Popups abfragen kann wusste ich nicht...
 
Zurück