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