2010-09-22 21 views

Trả lời

43

Sau khi thêm nội dung mới cho dom, gọi

stButtons.locateElements(); 

// or if you want to be a bit defensive about whether the lib has been 
// loaded or not: 
if (window.stButtons){stButtons.locateElements();} // Parse ShareThis markup 

Articleanotheranother

+0

Bạn vừa lưu cho tôi một lượng lớn săn bắn :). –

+0

Bạn là một người rất tốt. Làm cho ngày của tôi! – jerrygarciuh

+0

@ jerrygarciuh Xin chào Jerry, Rất vui khi được trợ giúp! Cảm ơn bạn đã bình luận và upvote. –

-3

Tôi tìm thấy giải pháp sau đây trên một trong những diễn đàn AddThis và nó làm việc tuyệt vời cho tôi. Tôi gọi hàm này là gọi lại cho cuộc gọi ajax của mình. Hoep điều này sẽ giúp

<script type="text/javascript"> 
     function ReinitializeAddThis(){ 
     if (window.addthis){ 
     window.addthis.ost = 0; 
     window.addthis.ready(); 
     } 
    } 
... 
$('#camps-slide .results').load(loc+suffix, function() {ReinitializeAddThis();}); 
</script> 
+1

mà không có ý nghĩa gì. Camps-slide hoặc loc và hậu tố đứng ở đâu? Tốt hơn đặt url nơi bạn đã nhận nó từ – bicycle

2

Tôi đã gặp phải vấn đề tương tự với chia nhỏ và phân trang Ajax. Các nút không hiển thị sau khi các bài đăng được tải bởi Ajax vì vậy tôi đã tìm kiếm và tìm thấy điều này. Tôi vừa mới bổ sung thêm chức năng stButtons.locateElements(); trên Ajax success:

cái gì đó như success:stButtons.locateElements();

Hy vọng điều này sẽ rất hữu ích cho một người như tôi.

Cảm ơn Ibnul

3

Giải pháp này cũng sẽ làm việc cho NodeJS dựa khuôn khổ, như Meteor.

stButtons.locateElements(); 

là cần thiết trong gọi lại được hiển thị của mẫu, để đảm bảo rằng nút Chia sẻ này sẽ xuất hiện trên chuyển hướng trang.

0

Trong drupal bạn có thể đạt được điều này bằng cách thêm mã sau

(function($){ 
Drupal.behaviors.osShareThis = { 
attach: function(context, settings) { 
    stLight.options({ 
    publisher: settings.publisherId 
    }); 
    // In case we're being attached after new content was placed via Ajax, 
    // force ShareThis to create the new buttons. 
    stButtons.locateElements(); 
} 
}; 
}); 
4

Cập nhật 09/2017 trả lời

Các stButtons đối tượng không tồn tại nữa, bây giờ bạn có thể sử dụng

window.__sharethis__.initialize() 

Để khởi tạo lại các nút

+0

Cảm ơn bạn.Tôi đã tìm kiếm nhiều ngày và nghĩ rằng tôi đã phát điên vì tôi là người duy nhất không thể sử dụng stButton. Làm xong. –

1

Đối với giải pháp API mới sau đây đã làm việc cho tôi

if (__sharethis__ && __sharethis__.config) { 
    __sharethis__.init(__sharethis__.config); 
} 

Thêm mã này sau khi tải nội dung ajax.

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