Đơ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/
Nguồn
2011-10-12 12:37:10
này sẽ phải được thực hiện bằng js? – styler
@kyllle: Vâng, đúng vậy. – alex
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). –