2013-06-18 11 views
17

Sto usando FB tasto sulla mia pagina web come, a volte rendere e qualche volta la sua non è, Quando vedo console per Registro errori che mostrando erroreIl div "fb-root" non è stato creato, auto-creazione

The "fb-root" div has not been created, auto-creating 

in all.js sto usando questo codice

<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&appId=105911812857824"; 
     fjs.parentNode.insertBefore(js, fjs); 
    } (document, 'script', 'facebook-jssdk')); 
</script> 


<div class="fb-like" data-send="false" data-width="450" data-show-faces="true"> 
        </div> 
+0

Si sta lavorando bene [qui] (http://jsfiddle.net/ES3wv/) –

+0

mi funziona bene a volte, ma a volte non mostra lo stesso problema tasto –

+0

. (con Turbolinks) – sparkle

risposta

7

Utilizzare questa seguente codice

<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/sdk.js#xfbml=1&appId=694586437259261&version=v2.0"; 
fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk'));</script> 

e anche mettere questo codice anche

<div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-layout="standard" data-action="like" data-show-faces="false" data-share="false"></div> 

È necessario fornire i dati-href = "il tuo link per come" che lavorerà per voi.

4

C'è un newer way to initialize the API.

È possibile inserire appId nel metodo init anziché incorporato nell'URL.

Non ti suggeriscono nemmeno di utilizzare fb-root. In effetti, non vedo davvero perché tu abbia mai avuto bisogno di farlo. Riceverai comunque un avviso nella console ma non vedo alcun motivo di preoccuparti di inserirlo manualmente.

<script> 

    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : 'your-app-id', 
     xfbml  : true, 
     version : 'v2.3' 
    }); 
    }; 

    (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/sdk.js"; 
     fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 

</script> 
+1

Ora non mostrano nemmeno un avviso nella console. Il requisito '

' è stato rimosso dalla loro documentazione. Può essere rimosso in sicurezza. –

Problemi correlati