2012-04-06 32 views
6

Tôi muốn hiển thị plugin "Thích hộp" của Facebook và một số mã FB khác trong trang được tải ajax.facebook “Like box” trong trang tải ajax chỉ tải lần đầu tiên?

Khi tôi tải nó trong một trang html bình thường, nó hoạt động như bình thường, nhưng khi tôi cố gắng đặt nó trong trang tải ajax , nó chỉ tải lần đầu tiên, khi tôi nhấp vào liên kết để tải trang lần thứ hai nó không tải trang? Nó chỉ tải trang nếu tôi xóa bộ nhớ cache.

Tệp chỉ mục bắt đầu mã fb.

FB.init({ 
    appId  : '277065222', // App ID 
    status  : true, // check login status 
    cookie  : true, // enable cookies to allow the server to access the session 
    xfbml  : true, // parse XFBML 
    oauth  : true 
}); 

tôi tải trang ajax với mã này:

function loadFacebook(){ 

$('#container').load('http://www.manmade.se/manmade/guiden/facebook_onweb.html'); 
FB.XFBML.parse(); 
} 

Và trong trang ajax nạp Tôi có đoạn code facebook, ví dụ như facebook Giống như hộp.

+0

Bạn có thể cụ thể hơn về những gì chính xác trả về từ cuộc gọi ajax không? Bạn có ý gì khi "không tải trang"? Cuộc gọi ajax không hoạt động hoặc mã fb không được phân tích cú pháp? –

Trả lời

4

reloadlike.html

<div class="fb-like fltLeft" data-href="http://yrl_like" data-send="false" data-layout="button_count" data-width="87" data-show-faces="false"></div> 

này nên làm việc mọi lúc.

Tôi đoán cuộc gọi lại của bạn không đúng.

$('#container').load('reloadlike.html', function() { 
    FB.XFBML.parse(); 
}); 
+0

Cảm ơn, nhưng nó vẫn chỉ hiển thị trang lần đầu tiên. Vui lòng xem www.manmade.se/guiden.asp và có leftsidelink ở dưới cùng được gọi. Facebook trên web. Tôi không hiểu tại sao nó tải ir lần đầu tiên, nhưng ngừng làm việc. Nó hiển thị một cảnh báo mọi lúc trong trang ajaxpage, nhưng không phải là những thứ khác. –

+0

tôi đã cập nhật nhận xét trước đó của mình. yêu cầu ajax chỉ nên nội dung như thẻ FBML. Trong facebookonweb.html của bạn tất cả các html là có ... do đó, làm cho mã fbml riêng biệt cho như tải lại chỉ. – Madan

+0

Ok, nhưng vấn đề là trong trang facebook_onweb.html tôi có cả 2 hộp giống nhau và một số mã facebook khác cũ. album từ facebook với api facebook. –

14

bạn có thể gọi fb mệnh kịch bản trong tải trang của bạn sau khi gọi fb kịch bản

(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_US/all.js#xfbml=1&appId=11111code"; 
    fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 


$(document).ajaxComplete(function() { 
    try { 
     FB.XFBML.parse(); 
    } catch (ex) { } 
}); 
+1

Điều này làm việc cho tôi, cảm ơn! –

0

Nhờ biển đổi một chút mã ví dụ từ bugrasitemkar, ở phần cuối của mã ajax, tôi bao gồm jquery này tập lệnh và hoạt động:

<script type="text/javascript"> 
    $(document).ready(function() { 
     try { 
      FB.XFBML.parse(); 
     } catch (ex) { } 
    }); 
</script> 
Các vấn đề liên quan