Подтвердить что ты не робот

Почему нам нужно добавить <div id = "fb-root" ></div>

Почему нам нужно добавить эти пару тегов в наше приложение для facebook. Какое использование этих пар тегов. Я создал приложение, которое использует apprequest, и оно работает хорошо, даже если я не добавлял эти теги перед моими скриптами. Поэтому я действительно удивляюсь, зачем нам их добавлять. Спасибо.

4b9b3361

Ответ 1

Это место для javascript для w370 > для прикрепления элементов к DOM. Без этого при запуске упомянутого Facebook script он не сможет прикреплять элементы.

Вы можете видеть, что fb-root добавляется как часть инициализации.

<script type="text/javascript">
      window.fbAsyncInit = function() {
        FB.init({appId: 'xxxxxx', status: true, cookie: true,
                 xfbml: true});
      };

      (function() {
        var e = document.createElement('script'); e.async = true;
        e.src = document.location.protocol +
          '//connect.facebook.net/en_US/all.js';
        document.getElementById('fb-root').appendChild(e);
      }());
    </script>

Ответ 2

ОБНОВЛЕНИЕ: Facebook больше не требует, чтобы вы включили <div id="fb-root"></div> в свой HTML.

Теперь вы можете удалить его. SDK для Javascript для Facebook создает его самостоятельно, добавляя его к тегу BODY. На консоли не отображаются предупреждения, как это было ранее.

Документация в Facebook также обновлена, больше не отображается требование <div id="fb-root"></div>.

Старая документация для версии 1.0 (показывает <div id="fb-root"></div>): https://developers.facebook.com/docs/javascript/quickstart/v1.0

Текущая документация для версии 2.5 (больше не отображается <div id="fb-root"></div>): https://developers.facebook.com/docs/javascript/quickstart/v2.5

Ответ 3

Это еще проще с Turbolinks 5. Вам просто нужно добавить data-turbolinks-permanent=true в div fb-root, и он будет сохраняться между запросами. Не нужно возиться с javascript.