2

我使用 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'
      }))

在灯箱的“构建”事件上。在“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 按钮创建 iframe,一切正常。在下一张图片上,生成的代码看起来不错(替换了 data-href),但 Like-Button 显示为已被喜欢,因为 like.php 中的 URL 没有改变。window.fbAsyncInit();不会重新启动会话。如果我现在不喜欢,最后一张图片将被不喜欢。我该怎么做才能完全重新启动 Facebook 会话?

4

1 回答 1

4

window.fbAsyncInit(); 不会重新启动会话。

当然不是,因为这根本不是它的目的

只需再次调用 FB.XFBML.parse (可能使用范围参数),让它重新解析您喜欢的按钮标签。

于 2012-07-18T09:16:01.280 回答