如何整合facebook像动态内容javascript的按钮

时间:2013-07-06 16:52:14

标签: javascript facebook-like facebook-javascript-sdk fbml xfbml

我想在Facebook fql流中从一个人的新闻源中检索的每个帖子中添加一个类似facebook的按钮。所以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次尝试仍然会使协议必须匹配错误:

(4)     jQuery的( “#fblikeblock”)HTML( '')。         FB.XFBML.parse(的document.getElementById( 'fblikeblock'));

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

1 个答案:

答案 0 :(得分:3)

将类似fb的内容添加到$('.container')之类的容器后,然后运行FB.XFBML.parse($('.container')[0])FB.XFBML.parse($('.container'))

我已经在我之前完成的项目中实现了它。

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