2010-07-22 23 views
7

Để cung cấp cho bạn trường hợp sử dụng đơn giản - trên trang web của tôi, tôi hiển thị các nhận xét được đăng bởi người dùng facebook. Đối với mỗi bình luận tôi hiển thị ảnh người dùng facebook bằng cách sử dụng thẻ fb: profile-pic và nút fb như.Thẻ Facebook không hiển thị khi được tạo động bằng cách sử dụng Jquery

Trang này hiển thị chính xác và mọi thứ hiển thị tốt. Bây giờ khi người dùng muốn đọc các nhận xét cũ hơn, họ nhấp vào liên kết "Thêm"

Sử dụng Jquery, tôi lấy các nhận xét cũ hơn và javascript xây dựng nội dung thêm thẻ fb: profile-pic và fb: like

Nhưng các thẻ này không hiển thị. Chúng ta có cần tải lại nó hay gì đó không. Nhờ sự giúp đỡ của bạn

+0

bạn nên tải lại nó ... Tôi đề nghị thông qua ajax, ... – Reigel

+0

làm thế nào để làm điều đó - như ngay bây giờ tôi xây dựng toàn bộ chuỗi của tôi nói comment = "

I love icecream
" Sau đó, tôi sẽ làm $ ("# myswipes") html (bình luận); Vậy tôi sẽ tải lại như thế nào. – Gublooo

Trả lời

28

Đầu tiên chắc chắn FBML được chèn vào DOM với một thanh tra viên. Nếu vậy, tất cả những gì bạn cần làm là yêu cầu Facebook chuyển đổi các thẻ FBML thành các thẻ HTML để trình duyệt của bạn có thể hiển thị nó. Với API đồ thị, bạn gọi FB.XHTML.parse http://developers.facebook.com/docs/reference/javascript/FB.XFBML.parse bằng cách sử dụng SDK Javascript. Dưới đây là một ví dụ từ mã của tôi:

$('#list').append('<fb:name uid="4"></fb:name>'); 
FB.XFBML.parse(document.getElementById('list')); 
+1

thankyou thankyou thankyou - l yêu bạn - bạn đã tiết kiệm rất nhiều thời gian của tôi .......... thats chính xác những gì tôi cần - cảm ơn một lần nữa – Gublooo

+0

cảm ơn, thực sự đã giúp tôi quá – srcastro

+0

Và tôi, đó là một sửa chữa nhỏ đáng yêu! Tôi đã sử dụng nút như trong tab jQuery được tải ajax và không thể làm cho nó hiển thị bất cứ điều gì tôi đã thử cho đến khi tôi tìm thấy điều này. Big upvote từ tôi! – Rich

-1

làm thế nào để làm điều đó - như ngay bây giờ tôi xây dựng toàn bộ chuỗi của tôi nói comment="<div>I love icecream<br/><fb:profile-pic uid='xxx'></fb:profile-pic></div>" Sau đó, tôi sẽ làm $("#myswipes").html(comment); Vậy làm thế nào tôi sẽ tải lại.

bạn có thể sử dụng $.ajax(), nói

$('a.moreComment').click(function(){ 
    $.ajax({ 
     url: 'some/url.php', 
     success : function(comment){ 
      $("#myswipes").html(comment); 
     } 
    }); 
}) 

some/url.php phải ở trong các máy chủ đó một cách chính xác có thể làm cho và gửi lại dòng này, <div>I love icecream<br/><fb:profile-picuid='xxx'></fb:profile-pic></div>

+0

Sự khác biệt nào làm cho hiển thị cùng một dòng trên phía máy chủ với phía máy khách. Tôi chỉ thử cách tiếp cận của bạn nó không hoạt động – Gublooo

+0

nếu bạn có thể hiển thị 'some/url.php' trong trình duyệt mà không có vấn đề gì, thì nó sẽ hoạt động ... – Reigel

+0

nếu tôi trả về bất kỳ chuỗi nào khác - hiển thị tốt - nhưng khi tôi quay lại một chuỗi thẻ fb như Gublooo

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