FB.ui-popup-Fenster nicht schließen
Den Initialisierungs-code:
FB.init({
appId: '123456789012345',
channelUrl: 'http://localhost/Some/Url/FacebookChannel',
status: true,
cookie: true,
oauth: true,
xfbml: true
});
Folgende code wird aufgerufen, mit einem onclick:
FB.ui({
method: 'feed',
name: settings.facebookShareName,
link: settings.facebookLinkUrl,
caption: settings.facebookShareCaption,
description: settings.facebookShareDescription,
message: message,
display: 'popup'
});
Dieser code funktioniert in FF und Chrome, und meist funktioniert im IE8. Das popup wird angezeigt, und der Benutzer kann post an Ihre Wand, aber nach dem Absenden das Fenster nicht schließen. Es wird weiß, ohne weitere Interaktionen, sondern müssen manuell vom Benutzer geschlossen werden.
Warum nicht das Fenster automatisch schließen, im IE, und/oder gibt es irgendwelche workarounds zu zwingen, das popup zu schließen?
Bearbeiten:
Dieses Problem kann im Zusammenhang mit dieser herausragenden bug.
InformationsquelleAutor Ryre | 2011-12-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe das gleiche problem und haben nie in der Lage, eine Antwort von Facebook für die callback-Funktion. Ich sehe nichts in der Konsole.einloggen oder Warnungen, die ich einfügen in der Funktion.
Meine Lösung war es, eine URL in der FB.ui die redirect_uri geht um eine HTML-Seite mit selbst.in der Nähe (oder Fenster.schließen). Die FB.ui-popup leitet es nach der Eingabe des Benutzers und schließt Sie sofort wieder. Daran ändern Ihre FB-app-Site-URL-Einstellung so passt die domain die Datei befindet, auf.
Hier ist mein code, gebunden an die form der submit-Aktion. Die Funktion(Antwort) callback ist immer noch da, aber nicht verwendet. Wenn jemand sieht einen syntax-Fehler bitte kommentieren Sie es.
Die code-Zeile in self.close.html:
InformationsquelleAutor Jeremy Schultz
Etwas Alter thread, aber das könnte jemand helfen...
Das popup-Fenster selbst schließen, wenn Sie es versäumen, in der "redirect_uri" - parameter. (plus, die Antwort Rückruf wird jetzt auch funktionieren)
redirect_uri
den teilen-dialog wird nicht gerendert.InformationsquelleAutor Andrej
hinzufügen
return false;
Ihrer Methode aufrufen.InformationsquelleAutor coferniecus
Nicht einfach... aber es könnte funktionieren:
Ersten, zu zwingen, den dialog schließen zu müssen Sie achten Sie auf die Reaktion:
Siehe die gesamte Dokumentation und Beispiel hier: https://developers.facebook.com/docs/reference/javascript/FB.ui/
Sobald Sie die Antwort erhalten, sollten Sie den dialog schließen:
Siehe: http://facebook.stackoverflow.com/questions/4646441/how-to-close-a-facebook-sdk-dialog-opened-with-fb-ui
Hoffe, das hilft! 🙂
InformationsquelleAutor Beto Aveiga
Dem pop-up-schließen wird, wenn Sie nicht geben die redirect_uri wie oben erwähnt - auch, wenn Sie nicht geben-Anzeige (d.h., geben Sie nicht zeigen: 'popup' oder display: 'iframe').
redirect_uri
den teilen-dialog wird nicht gerendert.Als von dem Datum dieser Kommentar, und mit v3.2, die Fenster geschlossen, wenn ich entfernt der redirect_uri-parameter. Ich bin neugierig, zu wissen, auf Erfahrungen anderer mit dieser.
Auch unsere alte code war über die akzeptierte Antwort, der Empfehlung der Umleitung auf eine Seite mit einer Zeile code:
window.close()
, das klappte auch gut.InformationsquelleAutor Aamir Quraishi
Stellen Sie sicher 'http://localhost/Some/Url/FacebookChannel hosted in der gleichen Domäne mit Ihrem app-callback-url.
InformationsquelleAutor Baoyu