simplemente ocultar el recipiente con CSS y luego mostrarlo una vez que el iframe ha cargado, esto se puede hacer de dos maneras:
<style>#fblike { visibility:hidden; }</style> /* Hide container */
<script>
FB.XFBML.parse(document, function(){
$('#fblike').css({'visibility':'visible'}); /* Show container once loaded */
});
</script>
Si no está utilizando esta función FB.XFBML.parse() entonces puede suscribirse un evento cuando todo se ha traducido en su lugar:
window.fbAsyncInit = function() {
FB.init({
appId: 'APP_ID',
xfbml: true
});
FB.Event.subscribe('xfbml.render',
function() {
$('#fblike').css({'visibility':'visible'}); /* Show container once loaded */
}
);
};
Me tomó un tiempo encontrar todo esto! Aquí hay un enlace a donde encontré mi solución: http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/
sería esto tiene que ser hecho usando js? – styler
@kyllle: Sí, lo haría. – alex
¿Cómo sabe cuándo se carga el iFrame? Logré usar $ ('# fblike iframe'). Ready() para atrapar el evento listo, pero no está completamente cargado en ese punto, y .load() no parece funcionar (nunca se llama). –