我使用 FB Javascript API 来创建“赞”按钮。该按钮出现在基于 lightbox2 的图像的灯箱 View 中 (http://lokeshdhakar.com/projects/lightbox2/) 我创建了一个带有 id 的 div
.append($('<div/>', {
"id": 'fb-image-like', "data-send" : 'false', "data-layout" : 'button_count', "data-width" : '250', "data-show-faces" : 'true', "data-colorscheme" : 'dark', "data-font":'arial'
}))
关于灯箱的“构建”事件。在“updateDetails”(显示下一个图像)上,我设置了 data-href-attribute,附加“fb-like”类并启动 window.fbAsyncInit();
$('.fb-like').removeClass("fb-like");
//FB._initialized = false;
$("#fb-image-like").attr("data-href", url).addClass("fb-like");
window.fbAsyncInit();
Facebook 使用 Like 按钮创建了 iframe,一切都运行良好。在下一张图片中,生成的代码看起来不错(替换了 data-href),但 Like 按钮显示为已喜欢,因为 like.php 中的 URL 没有更改。 window.fbAsyncInit();
不会重新初始化 session 。如果我现在不喜欢,最后一张图片也会不喜欢。我该怎么做才能完全重新启动 Facebook session ?
最佳答案
The window.fbAsyncInit(); doesn't re-init the session.
当然不是,因为这根本不是它的目的。
只需再次调用 FB.XFBML.parse(可能带有作用域参数),让它重新解析您的 Like 按钮标记。
关于facebook-like - 如何重新启动 Facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11536314/