Ich kopiere den Code direkt aus dieser Seite auf der Facebook-Entwickler-Website und dem fbAsyncInit () Methode wird nie ausgelöst. Ich habe auch diese Seite gelesen, die ich optimiert habe Code ein paar verschiedene Möglichkeiten, und ich kann nicht die Methode zu feuern. Ihre Gedanken?
Wenn ich versuche, diesen Code und Chrome (auf Mac) auszuführen und Firebug lite zu starten, erhalte ich die Fehlermeldung "Firebug Lite kann nicht auf dieser Seite geladen werden"
Hier ist der Code ...
%Vor% Ich hatte das gleiche Problem. Es schien, dass ich die JavaScript-Bibliothek //connect.facebook.net/en_US/all.js
an einer anderen Stelle vor dem asynchronen Laden geladen habe.
Das hat die Dinge wahrscheinlich etwas verwirrt.
Ich habe die vorzeitige Load-Tag-Definition entfernt und jetzt geht es mir gut.
Da Ihre Datei sowohl test.html als auch channelUrl test.html heißt, erstellen Sie einen Zirkelverweis . Für die richtige channelUrl soll es nur eine Zeile enthalten
<script src="//connect.facebook.net/en_US/all.js"></script>
%Vor%Die Kanaldatei behebt einige Probleme bei der domänenübergreifenden Kommunikation in bestimmten Browsern. Der Inhalt der Datei channel.html kann einfach sein eine einzelne Zeile:
<script src="//connect.facebook.net/en_US/all.js"></script>
Es ist wichtig, dass die Kanaldatei so lange zwischengespeichert wird möglich. Wenn Sie diese Datei bereitstellen, müssen Sie gültige Expires-Header senden mit einer langen Ablaufzeit. Dadurch wird sichergestellt, dass die Kanaldatei ist zwischengespeichert vom Browser, was für eine reibungslose Benutzererfahrung wichtig ist. Ohne richtiges Caching wird die domänenübergreifende Kommunikation sehr groß langsam und Benutzer werden eine stark verschlechterte Erfahrung erleiden. Eine einfache Möglichkeit dies in PHP zu tun ist:
Der Parameter channelUrl ist optional, wird jedoch empfohlen. Bereitstellung eines Mit der Kanaldatei können Sie drei spezifische bekannte Probleme beheben. Zuerst, Seiten, die Code für die Kommunikation über Frames enthalten, können Social verursachen Plugins werden ohne ChannelUrl als leer angezeigt. Zweitens, wenn nein channelUrl wird bereitgestellt und eine Seite enthält automatisch wiedergegebenes Audio oder Video, der Benutzer kann zwei Audiostreams hören, weil die Seite hat ein zweites Mal im Hintergrund für Cross-Domain geladen Kommunikation. Drittens verhindert eine Kanaldatei die Aufnahme von Extra Treffer in Ihren serverseitigen Protokollen. Wenn Sie kein channelUrl angeben, werden Sie kann Seitenansichten entfernen, die fb_xd_bust oder fb_xd_fragment enthalten Parameter aus Ihren Protokollen, um korrekte Zählungen zu gewährleisten.
Die ChannelUrl muss eine vollständig qualifizierte URL sein, die der Seite entspricht was Sie das SDK einschließen. Mit anderen Worten, die Kanaldatei-Domäne muss www enthalten, wenn Ihre Website über www bedient wird und wenn Sie Änderungen vornehmen document.domain auf Ihrer Seite müssen Sie dieselbe document.domain erstellen Ändern Sie auch in der Datei channel.html. Die Protokolle müssen auch Spiel. Wenn Ihre Seite über https geschaltet wird, muss Ihre ChannelUrl auch sein https. Denken Sie daran, das passende Protokoll für das Skript src als zu verwenden Gut. Der obige Beispielcode verwendet protokollrelative URLs, die dies tun sollten Behandle die meisten https-Fälle richtig.
Diese Antwort ist wahrscheinlich zu spät und für viele Fälle wird es nicht helfen, aber ich fand heraus, dass mein Firefox-Browser nach einiger anständiger Arbeit anscheinend ein wenig verrückt wird und genau diesen Fehler verursacht ... starte einfach das verdammte Ding neu.
Bitte ändern Sie Ihre App-ID und starten Sie dann die Arbeit
%Vor%Tags und Links javascript fbconnect facebook fbjs