Ho aggiunto pulsanti di base "Mi piace/Condividi" di Facebook a una pagina Web, utilizzando il codice copiato direttamente dalla pagina degli sviluppatori di Facebook. Ci sono 2 parti del codice: un blocco javascript e un tag div con una classe di "fb-like" Heres la javascript:I pulsanti Mi piace e Condividi nella pagina Web causano avvisi javascript e errore php
<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>
Ed ecco il tag div per cui voglio visualizzare i pulsanti:
<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>
Qui ci sono i problemi che sto incontrando:
Al caricamento della pagina web, ottengo 2 avvertimenti javascript. Gli avvertimenti si riferiscono al codice sorgente connect.facebook.net, riga 233, non a qualsiasi codice che ho scritto. Sono:
- ID app non valido: deve essere un numero o una stringa numerica che rappresenta l'ID dell'applicazione.
- FB.getLoginStatus() chiamato prima di chiamare FB.init().
anche al caricamento della pagina, ottengo un errore php (like.php.1: 948):
- Bloccato un telaio con origine "http://www.facebook.com" l'accesso a un telaio con origine "http://www.bethcake.com" . Protocolli, domini e porte devono corrispondere.
Questo errore è sconcertante. Prima di tutto, non sto usando i frame. In secondo luogo, i protocolli corrispondono e non c'è nulla qui sulle porte. Ovviamente i domini non corrispondono: non sto cercando di raccogliere "Mi piace" per una pagina di Facebook; Voglio ottenere "Mi piace" per una pagina del sito Web esterna. Mi sto perdendo qualcosa?
Ho eseguito l'URL tramite il debugger dell'oggetto grafico aperto di Facebook. Ha portato un numero di avvertimenti che non capisco. Sono:
- fb: mancano i tag admins e fb: app_id.
- og: titolo, og: tipo e og: manca l'immagine.
- og: url, andare: titolo, andare: descrizione, e andare: proprietà immagine dovrebbero essere fornite in modo esplicito
Ok, va bene. Ma dove e come dovrei aggiungere questi? Ho esaminato la documentazione di Facebook e ho cercato lo stackoverflow, senza successo. Se questi dovessero essere aggiunti alla stringa data-href nel tag div, per favore mi dia un esempio.
Bene, ho trovato una risposta parziale. Per (3), i tag menzionati sono meta tag con questo formato: '' Questo suggerisce che se inserissi il tag meta tag fb: app_id, perderei il primo avviso javascript. Per quanto posso dire, riceverei comunque il secondo avvertimento. Inoltre, ora penso che quello che ho descritto come errore php sia in realtà un errore javascript. Stranamente si presenta in Safari Web Inspector ma non in Google Developer Tools, Opera Dragonfly o Firebug. –