2013-06-18 5 views
17

ich FB bin mit auf meiner Webseite wie Taste, manchmal seine es machen und manchmal nicht, Wenn ich sehe, Konsole für Fehler es Protokollfehler zeigtDie „fb-root“ div wurde nicht erstellt, Auto-Erstellung

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

in all.js ich diesen Code verwenden

<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

Es funktioniert gut [hier] (http://jsfiddle.net/ES3wv/) –

+0

ich manchmal funktioniert gut, aber manchmal ist es zeigen nicht die Taste –

+0

gleiche Problem. (mit Turbolinks) – sparkle

Antwort

7

verwenden Sie diesen folgenden Code

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

und auch diesen Code setzen auch

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

Sie haben Daten-href = „für wie Ihr Link“ zur Verfügung zu stellen, die für Sie arbeiten.

4

Es gibt eine newer way to initialize the API.

Sie können die appId in der Init-Methode anstelle von in die URL eingebettet setzen.

Sie empfehlen nicht einmal mehr fb-root zu verwenden. In der Tat sehe ich nicht wirklich, warum du jemals musst. Sie werden immer noch eine Warnung in der Konsole erhalten, aber ich sehe keinen Grund, sich darum zu sorgen, dass Sie sie manuell eingeben.

<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

Jetzt zeigen sie nicht einmal eine Warnung in der Konsole. Die Anforderung '

' wurde aus ihrer Dokumentation entfernt. Es kann sicher entfernt werden. –

Verwandte Themen