"Fb-root" div не был создан, авто-создание

Я использую кнопку FB, как на моей веб-странице, иногда она визуализируется, а иногда и ее нет. Когда я вижу консоль для журнала ошибок, она показывает ошибку

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

в all.js Я использую этот код

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

Ответы

Ответ 1

Используйте следующий код

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

а также этот код также

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

Вам необходимо предоставить data-href= "ваша ссылка для типа", которая будет работать для вас.

Ответ 2

Там новый способ инициализации API.

Вы можете поместить appId в метод init вместо внедренного в URL.

Они даже не предлагают использовать fb-root больше. На самом деле, я действительно не понимаю, зачем тебе нужно. Вы все равно получите предупреждение в консоли, но я не вижу причин беспокоиться о том, чтобы поместить его вручную.

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