检测Facebook Like Button何时加载

时间:2012-06-29 13:42:52

标签: javascript jquery html facebook

您可能知道Facebook Like按钮的加载速度非常慢。

我正在试图找出如何检测按钮何时完成加载并已添加到网站。

原因是我显示加载动画,然后隐藏它并显示按钮,但我想在加载完成后显示按钮。

可以这样做吗?

先谢谢大家!

3 个答案:

答案 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,那么您可以简单地指定在呈现完成时调用的回调函数。