12

Ich habe grundlegende Facebook "Like/Share" buttons zu einer webseite, mit code direkt von der Facebook Developers page kopiert. Es gibt 2 Teile mit dem Code: ein Javascript-Block und ein div-Tag mit einer Klasse von „fb-like“ Heres der javascript:Gefällt mir und teile buttons in webpage verursachen javascript warns und php fehler

<div id="fb-root"></div><script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

Und hier ist der div-Tag für, wo ich will die Tasten erscheinen:

<div class="fb-like" data-href="http://www.bethcake.com" data-width="90" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true"></div> 

Hier sind die Probleme, die ich bin zu begegnen:

  1. Wenn die Webseite geladen wird, erhalte ich 2 Javascript Warnungen. Die Warnungen beziehen sich auf den Quellcode von connect.facebook.net, Zeile 233, nicht auf den Code, den ich geschrieben habe. Sie sind:

    • Ungültige Anwendungs-ID: Muss eine Zahl oder eine numerische Zeichenfolge sein, die die Anwendungs-ID darstellt.
    • FB.getLoginStatus() vor Aufruf von FB.init() aufgerufen.
  2. Auch auf Seite laden, erhalte ich einen PHP-Fehler (like.php.1: 948):

    Dieser Fehler ist verwirrend. Erstens benutze ich keine Frames. Zweitens stimmen die Protokolle überein und hier gibt es nichts über Ports. Natürlich stimmen die Domains nicht überein: Ich versuche nicht "Likes" für eine Facebook-Seite zu sammeln; Ich möchte "Likes" für eine externe Website bekommen. Fehle ich etwas?

  3. Ich habe die URL über den Facebook Open Graph Object Debugger ausgeführt. Es brachte eine Reihe von Warnungen auf, die ich nicht verstehe. Sie sind:

    • fb: Admins und fb: app_id Tags fehlen.
    • og: Titel, og: Typ und og: Bild fehlen.
    • og: url gehen: Titel, gehen: Beschreibung, und gehen: Bildeigenschaften explizit
    • zur Verfügung gestellt werden sollten

Okay, gut. Aber wo und wie soll ich diese hinzufügen? Ich habe die Facebook-Dokumentation durchgesehen und den Stackoverflow durchsucht, ohne Erfolg. Wenn diese der date-href-Zeichenfolge im div-Tag hinzugefügt werden sollen, geben Sie mir ein Beispiel.

+0

Nun, ich habe eine teilweise Antwort gefunden. Für (3) sind die genannten Tags Meta - Tags mit folgendem Format: '' Dies deutet darauf hin, dass wenn ich das fb: app_id - Meta - Tag einfüge, ich den erste JavaScript-Warnung. Soweit ich das beurteilen kann, bekomme ich immer noch die zweite Warnung. Außerdem denke ich jetzt, was ich als PHP-Fehler beschrieben habe, ist tatsächlich ein Javascript-Fehler. Seltsamerweise wird es im Safari Web Inspector angezeigt, nicht jedoch in Google Developer Tools, Opera Dragonfly oder Firebug. –

Antwort

2

Ich hoffe, Sie haben dieses Problem bereits gelöst.

Aber wenn diese Hilfe für jemanden ist, diese Antwort hilft über die „FB.getLoginStatus()“ genannt vor dem Aufruf FB.init()“->https://stackoverflow.com/a/16593474

+0

Danke Marco, das ist in der Tat nützlich. –

11

Ich war immer die gleichen Javascript Warnungen wie Sie erwähnen in Ihrer ersten Ausgabe und Hinzufügen eines Parameters appId der URL in Facebook-Code gelöst beide.So einfach diese Zeile:

js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; 

zu

js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=1234567891234567"; 

Um einen Facebook appId zu erhalten, gehen Sie zu: https://developers.facebook.com/apps

+0

Danke, das hat geholfen! – Deviljho

+0

Es wäre schön, wenn sie das in ihren Dokumenten dokumentieren würden ... –

2

;3) id 4) gelten ID Ihre code..eg (js.src = "//connect.facebook.net/en_US/all.js#xfbml=1 & appId = 16digIdHere" erhalten wie @smohajer zeigte oben Sie die appId aber mit dem neuen SDK Sie sonst einige kleine Änderungen tun müssen, hinzufügen müssen finden Sie einige Fehler oder Warnungen angezeigt:

js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=1234567891234567&version=v2.2"; 

Sie werden vor April Upgrade müssen 30, 2015: https://developers.facebook.com/docs/apps/upgrading