2010-03-21 306 views
1

我正在使用FBML渲染頁面上的某些元素,例如用戶名,profil圖片等。但是,當頁面上有許多FBML元素時,會在它們出現之前發生輕微的延遲渲染 - 這很好,因爲AJAX調用服務器通過JS FB庫獲取數據。然而,我想隱藏容器DIV持有這些元素,直到元素完成加載,那麼有沒有什麼辦法來指定一個JS回調函數,當FBML數據加載完成時會被觸發?FBML元素渲染延遲

回答

4

嘗試FB.Event.subscribe

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

有這個另一種選擇。首先,確保在所有嵌入中設置了xfbml=0參數。接下來,你可以使用這個小小的jQuery:

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