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