我一直在努力解决这个问题。
如果我去:https://rbzexercise.herokuapp.com/workouts/4
Facebook like按钮显示,但是如果我点击另一个锻炼(我使用ajax进行另一次锻炼),那么按钮就会消失。当我刷新like按钮返回。我知道它与我使用jquery有关,但我不知道如何解决它。
我正在使用rails 3.2.1,ruby 1.9.2。我希望有足够的信息,如果不让我知道的话。
感谢您的帮助!
更新: Facebook代码在部分
中的脚本中 <script>
$(document).ready(function() {
$("div.dright").append('<div class="fb-like" data-href="<%= likepage_workout_url(workout) %>" data-send="true" data-width="450" data-show-faces="true"></div>')
});
</script>
通过我的show.js.erb文件运行:
$("div.descbar").html("<%= escape_javascript(render('workouts/title', :workout => @workout)) %>");
答案 0 :(得分:3)
您没有在包含FB Like按钮的HTMLElement对象上调用FB.XFBML.parse。切换锻炼时,在事件处理程序中,在函数末尾使用以下内容:
FB.XFBML.parse($(".dright")[0]);
这意味着:抓住.dright容器,让FB JS SDK解析任何Like按钮(以及任何其他基于标记的FB社交插件)的内容。
注意:您不能在元素本身上使用它,而是包含元素:因此我抓住了您的.dright
容器,而不是每个.fb-like
元素。