我动态创建了Like / Send按钮,fb-root的Div显示SDK正在工作,但按钮没有因某种原因显示出什么。
$('body').prepend('<div id="fb-root"></div>');
var _URL = window.location.href ;
$('.center.pic-container').before('<div class="fb-like" data-href="'+_URL+'" data-send="true" data-layout="button_count" data-width="450" data-show-faces="false" data-font="segoe ui" data-action="recommend"></div>');
});
(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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
它包含在一个doc ready函数btw中。对动态生成的按钮的任何建议?也许是设定的时间或什么?
第二个代码尝试=
$(function() {
var Sscript = '<script type="text/javascript">';
var Escript = '</script>';
var code = Sscript +'(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";fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));'+Escript;
$('body').prepend('<div id="fb-root"></div>'+code);
var add = $('.center.pic-container').children('a').first().attr('href');
var URL = add.toString();
var _URL = window.location.host + URL;
$('.center.pic-container').before('<div class="fb-like" data-href="'+_URL+'" data-send="true" data-layout="button_count" data-width="450" data-show-faces="false" data-font="segoe ui" data-action="recommend"></div>');
});
答案 0 :(得分:0)
回答这个问题,我在审核了每一行后发现了。
$('body').prepend('<div id="fb-root"></div>');
var _URL = window.location.href ;
$('.center.pic-container').before('<div class="fb-like" data-href="'+_URL+'" data-send="true" data-layout="button_count" data-width="450" data-show-faces="false" data-font="segoe ui" data-action="recommend"></div>');
});
(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";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
js.src = "//connect.facebook.net/en_US/all.js"
应该是此js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"
,它会抓取所需的正确XFBML标记,如果您选中#fb-root
div,它会附加到iframe。
希望这有助于其他所有人。