您可能知道Facebook Like按钮的加载速度非常慢。
我正在试图找出如何检测按钮何时完成加载并已添加到网站。
原因是我显示加载动画,然后隐藏它并显示按钮,但我想在加载完成后显示按钮。
可以这样做吗?
先谢谢大家!
答案 0 :(得分:21)
当渲染完成时,可以subscribe向xfbml.render事件发出通知,每次页面解析只会触发一次(并且不仅适用于xfbml,也适用于新的html5技巧)。当FB JS SDK加载xfbml : true
时会自动发生页面解析。
window.fbAsyncInit = function() {
FB.init({
...
xfbml : true
});
FB.Event.subscribe('xfbml.render', function(response) {
alert('OMG... All Facebook sociaal plugins on page rendereed.... finally!');
});
};
// And load the SDK Asynchronously here
答案 1 :(得分:1)
我很确定facebook Like按钮包含在iFrame中。如果是,您可以找到引用iFrame的内容并使用 - >
$('iframe[class/id/name=whatever]').load(function(){
//This element is loaded
});
修改强>
根据您的具体需求,我们可以加入我评论中提到的任何属性,我只需选择frameborder="0"
即可。
$('iframe[frameborder=0]').load(function(){
alert("loaded.");
});
答案 2 :(得分:1)
如果您要动态添加Facebook小部件并因此手动调用FB.XFBML.parse,那么您可以简单地指定在呈现完成时调用的回调函数。