2011-06-22 9 views

Odpowiedz

3

To jest iframe ładowanie jego treści.

Można ustawić visibility: hidden na iframe, a następnie pokazać go po załadowaniu, aby tego uniknąć.

+0

miałoby to być zrobione za pomocą js? – styler

+0

@kyllle: Tak, to by było. – alex

+0

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). –

0

Powinieneś ustawić allowtransparency="true" w iFrame.

0

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/

0

musiałem zrobić tak, aby to działało

.fb_iframe_widget_fluid{ 
    background:none !important; 

    //If you want no padding and no margin 
    padding:0 !important; 
    margin:0 !important; 
} 
Powiązane problemy