如何重新启动Facebook

时间:2012-07-18 07:28:01

标签: facebook-like facebook-javascript-sdk lightbox

我使用FB Javascript API创建Like按钮。该按钮显示在基于lightbox2的图像的灯箱视图中(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'
      }))

on lightbox的“build”-event。在“updateDetails”(显示下一个图像)上我设置了data-href-attribute,追加“fb-like”-class并启动window.fbAsyncInit();

$('.fb-like').removeClass("fb-like");
        //FB._initialized = false;
        $("#fb-image-like").attr("data-href", url).addClass("fb-like");
        window.fbAsyncInit();

Facebook使用Like-button创建iframe,一切都很完美。在下一个图像上,生成的代码看起来很好(替换了data-href),但Like-Button显示为已经喜欢,因为like.php中的URL不会改变。 window.fbAsyncInit();不会重新启动会话。如果我现在不喜欢,最后的图像将不受欢迎。我该怎么做才能完全重新启动Facebook会话?

1 个答案:

答案 0 :(得分:4)

  

window.fbAsyncInit();没有重新开始会话。

当然没有,因为这不是的目的

再次调用FB.XFBML.parse(可能带有scope参数),让它重新解析你的like按钮标记。