使用FB.XFBML.parse重新渲染Facebook插件

时间:2012-12-25 23:36:21

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

有没有办法使用FB.XFBML.parse而不再渲染一个Facebook插件,导致它“闪烁”(消失并重新出现)。

将使用Facebook赞按钮或Facebook推荐栏。

实例:http://www.gablabelle.com/eve-d

滑动以查看右下角的闪烁。

$.address.state(ajax_object.path).crawlable(true).value(whereiam);
$(".fb-recommendations-bar").data("href",whereiamurl);
//$(".fb-like").data("href",whereiamurl);
fburl = $(".fb-recommendations-bar").data("href");
//fburl = $(".fb-like").data("href");
console.log(fburl);
FB.XFBML.parse();

非常感谢你的帮助。

5 个答案:

答案 0 :(得分:1)

您可以通过将父DOM元素传递给FB.XFBML.parse来限制重新解析的范围。

答案 1 :(得分:1)

当需要“更改页面”时,在facebook插件div的顶部添加一个opacticy图层。将其设置为完全不透明的动画。调用FB.XFBML.parse()并给它片刻重新渲染。将图层设置为非不透明,然后从facebook插件div的顶部删除不透明度图层(或者在下次需要执行“页面更改”时将其保留在那里,而不实际重新加载页面。

这种技术会给你一个优雅的消失/重新出现的插件,而不是一个刺耳的“闪烁”。

答案 2 :(得分:0)

在幻灯片更改事件中缓存Facebook上的上一张幻灯片 + 当前幻灯片 + 下一张幻灯片。因此,当你去下一个或前一个并且它的Facebook应该已经准备好/加载时,用户不应该看到闪烁。除非他/她用幻灯片加快速度。

答案 3 :(得分:0)

我最近有这个。

我通过将XFMBL包装在一个变量中来解决它...不知道为什么但没有它它似乎闪烁......完全破解了一种方法来阻止闪烁但为我工作!!

      if(call == 0){
          FB.XFBML.parse();
          call = 1;
  }

答案 4 :(得分:0)

DMCS提供了似乎唯一一半的正确答案,但它很难看。您不知道每个人Web浏览器渲染这些内容需要多长时间。据说它被渲染的回调也不起作用。此外,在Firefox中看不到闪烁,只在谷歌浏览器中出现。