2012-04-19 36 views
5

Bối cảnh: - Đang sử dụng ajax để có được một thực thể được gọi là "foo_posts". Trong bài viết này đang sử dụng facebook chia sẻ và nút nhưNút thích và chia sẻ Facebook trên ajax

{% for post in foo_posts %} 
    <div class="foo"> 
     {{ post }} 
     <div class="fb-like" data-send="true" data-width="450" data-href="http://foo/foo/detail/{{ foo.id }}/" data-show-faces="true"></div> 
</div> 

{% endfor%} Bây giờ những bài viết đang được dân cư sử dụng Ajax.

Vấn đề: - Các facebook như và chia sẻ được khởi tạo bởi

$(function(d, s, id) { 
       var js, fjs = d.getElementsByTagName(s)[0]; 
       if (d.getElementById(id)) return; 
       js = d.createElement(s); js.id = id; 
       js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1&appId=245185848840630"; 
       fjs.parentNode.insertBefore(js, fjs); 
     }(document, 'script', 'facebook-jssdk')); 

này không hoạt động. Làm thế nào tôi có thể gọi chức năng này, để các lượt thích và chia sẻ được phổ biến đúng cách? Nếu nó được gọi trong hàm thành công ajax. (Ngay bây giờ đang tự gọi nó trên chính trang đó)

P.S: - Tôi đã thử nó trong chức năng thành công. Tôi đoán là làm sai.

Trả lời

19

Thẻ XFBML chỉ được phân tích cú pháp trên khởi tạo Facebook JS-SDK theo mặc định.

Bạn nên gọi phương thức FB.XFBML.parse() sau khi bạn thêm plugin mạng xã hội vào DOM sau khi trang được hiển thị.

Bạn có thể gọi nó là cho tất cả các tài liệu hoặc bằng cách xác định các yếu tố để tìm kiếm các yếu tố XFBML trong vòng:

FB.XFBML.parse(); 
// OR 
FB.XFBML.parse(DOM_ELEMENT_WHERE_AJAX_CONTENT_IS_PLACED); 
+0

thanks a lot !! làm việc như một sự quyến rũ – Akamad007

+0

cảm ơn rất nhiều dude :) – Kanga

Các vấn đề liên quan