FBML元素渲染延迟

时间:2010-03-21 14:48:56

标签: facebook fbml

我正在使用FBML渲染页面上的某些元素,例如用户名,profil pic等。但是当页面上有很多FBML元素时,在渲染之前会有一些轻微的延迟 - 这就是很好,因为AJAX调用服务器来获取JS FB库的数据。但是,我想隐藏持有这些元素的容器DIV,直到元素完成加载,那么有没有办法指定一个JS回调函数,当FBML数据加载完成后会被触发?

2 个答案:

答案 0 :(得分:4)

尝试FB.Event.subscribe

FB.Event.subscribe('xfbml.render', function(response) {
  //xfbml.render is fired when a call to FB.XFBML.parse() completes
});

答案 1 :(得分:0)

还有另一种选择。首先,确保在所有嵌入上设置xfbml=0参数。接下来,你可以使用这个小小的jQuery:

window.fbAsyncInit = function(){
  FB.XFBML.parse(null,function(){
      // all FB embeds are rendered as of this point
  });
};