2

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

将使用 Facebook Like 按钮或 Facebook Recommandations Bar。

现场示例: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();

非常感谢您的帮助。

4

5 回答 5

1

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

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

于 2012-12-31T22:08:43.853 回答
1

您可以通过将父 DOM 元素传递给FB.XFBML.parse.

于 2012-12-26T13:36:17.267 回答
0

DMCS provided what seems to be the only half-proper answer, but it's butt ugly. You don't know how long it'll take on each persons web browser to render the stuff. The callback which supposedly says it's rendered doesn't work either. Also the flicker isn't seen in firefox but only in google chrome.

于 2013-06-19T08:23:38.323 回答
0

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

于 2013-01-04T07:27:10.187 回答
0

我最近有这个。

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

      if(call == 0){
          FB.XFBML.parse();
          call = 1;
  }
于 2013-02-25T15:14:48.487 回答