2012-09-20 9 views
7

Voglio solo un pulsante di base come Facebook sul mio sito. Seguo le istruzioni per sito di facebook (http://developers.facebook.com/docs/reference/plugins/like/). Ho provato i modi HTML5, XFBML e iFrame, senza gioia. Quindi ho pensato che forse era qualcosa che interferiva con il mio sito. Così ho creato una pagina html bare-bones come di seguito e mi dà ancora il FB.getLoginStatus() chiamato prima di chiamare l'errore FB.init().pulsante simile a Facebook che non visualizza :: FB.getLoginStatus() chiamato prima di chiamare FB.init()

<html> 
<body> 
<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> 
<div class="fb-like" data-href="http://www.facebook.com/[mypage]" data-send="false" data-width="450" data-show-faces="false"></div> 
</body> 
</html> 

UPDATE: ho rimosso tutta quella roba sopra tornato al iFrame unico metodo e funziona, ma solo in Firefox. Chrome e IE9 non ottengo altro che errori segnalati. Perché questa riga sotto funziona solo in FireFox (ovviamente la parte [myPage] viene scambiata)?

<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2F[myPage]&amp;send=false&amp;layout=standard&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=35" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:35px;" allowTransparency="true"></iframe> 
+0

Non hai dato un ID app quando si incorpora l'SDK JS - ma è obbligatorio, altrimenti non può essere inizializzato correttamente. – CBroe

+0

Ah, grazie. Pochi progressi ma ancora non li. Quindi vedo dove dice facebook: è necessario un ID app per inizializzare l'SDK, che è possibile ottenere dall'App Dashboard. "App Dashboard" è un link che punta a https://developers.facebook.com/apps/ ma quando faccio clic sulla cosa dang continua a reindirizzarmi a https://www.facebook.com/[mysite] – gfrobenius

+0

per prima cosa devi verificare il tuo account con FB, prima di poter creare app. – CBroe

risposta

3

Non sicuro che l'ID di App sia il problema qui. Sto anche sperimentando questo strano messaggio di errore, e sto solo includendo il codice standard per il plugin sociale di FB Like Button, fornito dalla pagina degli sviluppatori di FB.

Allora sono andato di nuovo attraverso il plugin configuration page e copiato di nuovo codice, che comunque è rimasto invariato notare poca differenza nella parte HTML del codice generato (era un tag <fb:like>, ora è <div class="fb-like">) . Comunque l'errore persiste ancora.

Poi ho capito che in poche settimane FB Like Button migrerà in modo permanente built-in come azione per Open Graph, e se ho capito correttamente è avere per creare un ID App comunque.

A quel punto l'errore potrebbe semplicemente scomparire. E sembra difficile che qualcuno possa sistemare qualsiasi cosa su qualcosa che sta per scomparire nello in poche settimane.

HTH

+1

Ho appena sperimentato la stessa identica cosa. La creazione di un'app di prova e l'utilizzo di quell'app lo hanno risolto. Forse Facebook è già passato all'idea "deve avere un ID app"? – koosa

1

Nella pagina Developer Facebook dove si ottiene lo script per il pulsante Like, Facebook non dice nulla di dover implementare l'init() e (che presumibilmente risolvere questo problema, ma quello che usereste come l'ID APP se hai anche chiamato la funzione init() ??).

E un ID APP non è necessario comunque perché il pulsante Mi piace per funzionare. Credo che Facebook ci stia dando il codice del pulsante Mi piace - anche se l'assenza della funzione init() causerà questo errore js (ma a quanto pare init() non è effettivamente necessario!).

Questo sembra un problema nella distribuzione di FB dell'API del pulsante Mi piace.

2

Lo stai testando localmente? Dopo aver debugato e cercato un po 'me stesso, ho deciso di testarlo su un mio server web, e voilà, ha funzionato! :)

Problemi correlati