有没有办法使用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();
非常感谢你的帮助。
答案 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中看不到闪烁,只在谷歌浏览器中出现。