2

我想为从一个人的新闻提要的 facebook fql 流中检索到的每个单独的帖子添加一个 facebook like 按钮。所以 href 是动态的,一直在变化,我尝试了 3 种方法来实现它;

(1)当我在我的 html 文件中包含以下内容时,它只会显示类似按钮,但它与该特定帖子无关。显然,因为 href 是空的。

<div class="fb-like" data-href="" data-send="false" data-width="250" data-show-faces="true"></div>

(2)我在我的 html 中包含了以下 div

<div id=fblikebutton></div>

和javascript:

fblikebutton_markup += '<div class="fb-like" data-href="'+post_href+'" data-send="false" data-width="250" data-show-faces="true"></div>';
$('#fblikebutton').empty().append(fblikebutton_markup);

post_href 是当前帖子的 href,我正在检索正确的 href。但上面没有显示任何内容。

(3)下面的代码会出现这个错误:

阻止来源为“ https://www.facebook.com ”的框架访问来源为“ http://static.ak.facebook.com ”的框架。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。

html:

<div id ="fblikebutton"></div>

Javascript:

 fblikebutton_markup= '<fb:like href="'+post_href+'" send="false" width="250" show_faces="true"></fb:like>'
 $('#fblikebutton').append(fblikebutton_markup);
 FB.XFBML.parse(document.getElementById('fblikebutton'));

请帮忙!我环顾了堆栈溢出,但没有任何帮助。

我现在进行了第四次尝试,但仍然出现协议必须匹配错误:

(4) jQuery("#fblikeblock").html(''); FB.XFBML.parse(document.getElementById('fblikeblock'));

现在有了第4种方法,按钮消失了!它不起作用。:(

4

1 回答 1

3

将类似 fb 的内容附加到容器中后,例如$('.container')then run FB.XFBML.parse($('.container')[0])FB.XFBML.parse($('.container')).

我已经在我之前做过的一个项目中实现了它。

已编辑:还要确保在调用 javascript FB.XFBML.parse 之前将 FB js 包含在页面中。

于 2013-07-07T10:39:20.347 回答