Código:
El código lo que hace es mediante un botón cargar contenido en un div de manera dinámica. Mientras se carga el contenido muestra un gif de precarga.$.fn.imagesLoaded = function () { $imgs = this.find('img[src!=""]'); if (!$imgs.length) {return $.Deferred.resolve().promise();} var dfds = []; $imgs.each(function(){ var dfd = $.Deferred(); dfds.push(dfd); var img = new Image(); img.onload = function(){dfd.resolve();} img.src = this.src; }); return $.when.apply($,dfds); } var disc = function(div,of){ $(div).hide(); $('#loading').show(); var ajax = $.ajax({url : of, type : "GET", cache: false}); ajax .done(function(response){ Commons.sorDone(div, response); FB.XFBML.parse(document.getElementById('.fb-comments')); twttr.widgets.load(); }) .fail(function(){ Commons.sorFail(div); }); } Commons = { sorDone : function (div, response) { $(div).html(response).imagesLoaded().then(function(){ $('#loading').hide(); $(div).show(); }); }, }
Pues bien, en ese contenido hay botones sociales de facebook y twitter y un box de comentarios también de facebook que para poder mostrarse han de ser parseados con FB.XFBML.parse
Hasta ahí todo bien, pero el problema es que a veces aparecen los comentarios de facebook y otras veces aparece el hueco vacío y los comentarios no se ven.
No sé donde puede estar el error, ¿alguien me echa una mano?