Почему нам нужно добавить эти пару тегов в наше приложение для facebook. Какое использование этих пар тегов. Я создал приложение, которое использует apprequest, и оно работает хорошо, даже если я не добавлял эти теги перед моими скриптами. Поэтому я действительно удивляюсь, зачем нам их добавлять. Спасибо.
Почему нам нужно добавить <div id = "fb-root" ></div>
Ответ 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.