prostu ukryć pojemnik z CSS, a następnie wyświetlić go raz iframe została załadowana, można to zrobić na dwa sposoby:
<style>#fblike { visibility:hidden; }</style> /* Hide container */
<script>
FB.XFBML.parse(document, function(){
$('#fblike').css({'visibility':'visible'}); /* Show container once loaded */
});
</script>
Jeżeli nie korzystasz z tej funkcji FB.XFBML.parse(), wtedy może zasubskrybować wydarzenie, gdy wszystko zostało renderowane:
window.fbAsyncInit = function() {
FB.init({
appId: 'APP_ID',
xfbml: true
});
FB.Event.subscribe('xfbml.render',
function() {
$('#fblike').css({'visibility':'visible'}); /* Show container once loaded */
}
);
};
Zajęło mi trochę czasu, aby znaleźć to wszystko! Tu jest link do miejsca, gdzie znalazłem moje rozwiązanie: http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/
miałoby to być zrobione za pomocą js? – styler
@kyllle: Tak, to by było. – alex
Skąd wiadomo, kiedy ładowana jest iFrame? Udało mi się użyć $ ("# fblike iframe"). Ready(), aby złapać gotowe wydarzenie, ale nie jest całkiem załadowane w tym momencie, a .load() nie działa (nigdy nie jest wywoływany). –