2011-06-22 12 views

Trả lời

3

Đây là nội dung iframe tải nội dung của nó.

Bạn có thể đặt visibility: hidden trên iframe và sau đó hiển thị nó sau khi đã tải để tránh điều này.

+0

này sẽ phải được thực hiện bằng js? – styler

+0

@kyllle: Vâng, đúng vậy. – alex

+0

Làm thế nào để bạn biết khi nào iFrame được tải? Tôi đã quản lý để sử dụng $ ('# fblike iframe'). Ready() để nắm bắt sự kiện sẵn sàng, nhưng nó không được tải tại thời điểm đó, và .load() dường như không hoạt động (nó không bao giờ được gọi). –

0

Bạn nên đặt allowtransparency="true" trong iFrame.

0

Đơn giản chỉ cần ẩn chứa với CSS và sau đó hiển thị khi iframe đã nạp, điều này có thể được thực hiện theo hai cách:

<style>#fblike { visibility:hidden; }</style> /* Hide container */ 

<script> 
FB.XFBML.parse(document, function(){ 
    $('#fblike').css({'visibility':'visible'}); /* Show container once loaded */ 
}); 
</script> 

Nếu bạn không sử dụng chức năng FB.XFBML.parse() này thì bạn có thể đăng ký một sự kiện khi mọi thứ đã hiển thị thay thế:

window.fbAsyncInit = function() { 
     FB.init({ 
      appId: 'APP_ID', 
      xfbml: true 
     }); 

     FB.Event.subscribe('xfbml.render', 
      function() { 
       $('#fblike').css({'visibility':'visible'}); /* Show container once loaded */ 
      } 
     ); 
    }; 

Hãy cho tôi một thời gian để tìm hiểu tất cả! Dưới đây là một liên kết đến nơi tôi tìm thấy giải pháp của tôi: http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

0

tôi phải làm như thế này để làm cho nó hoạt

.fb_iframe_widget_fluid{ 
    background:none !important; 

    //If you want no padding and no margin 
    padding:0 !important; 
    margin:0 !important; 
} 
Các vấn đề liên quan