2013-06-18 10 views
17

ja jej nie za pomocą FB jak przycisk na mojej stronie internetowej, czasami to czyni, a czasem Kiedy widzę konsoli Error Log go pokazując błądW „fb-root” div nie została utworzona, automatyczne tworzenie

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

w all.js Używam tego kodu

<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

To działa dobrze [tutaj] (http://jsfiddle.net/ES3wv/) –

+0

ja czasami działa dobrze, ale czasami nie to pokazać przycisk –

+0

sam problem. (z Turbolinks) – sparkle

Odpowiedz

7

użyć tego następujący kod

<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> 

a także umieścić ten kod również

<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> 

Musisz dostarczyć danych href = „link do like”, które będą pracować dla Ciebie.

4

Istnieje newer way to initialize the API.

Możesz wstawić appId w metodzie init zamiast osadzić w adresie URL.

Nie sugerują już korzystania z fb-root. Właściwie to nie widzę powodu, dla którego kiedykolwiek musiałeś. Nadal będziesz otrzymywać ostrzeżenie w konsoli, ale nie widzę powodu, dla którego warto się martwić ręcznym wprowadzaniem go.

<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

Teraz nawet nie wyświetlają ostrzeżenia w konsoli. Wymóg "

" został usunięty z ich dokumentacji. Można go bezpiecznie usunąć. –

Powiązane problemy