2010-09-22 11 views

Respuesta

43

Después de agregar el nuevo contenido al dom, llame

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

Acabas de salvarme una buena cantidad de caza :). –

+0

Eres una muy buena persona. ¡Me alegró el día! – jerrygarciuh

+0

@jerrygarciuh Hola Jerry, ¡Me alegro de ser de ayuda! Gracias por el comentario y voto positivo. –

-3

me encontré con la siguiente solución en uno de los foros AddThis y funcionó genial para mi Llamé a la función como una devolución de llamada a mi llamada ajax. Hoep esto ayuda

<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

que no tiene ningún sentido. ¿Qué es camp-slide o dónde significa loc y sufijo? Mejor ponga la url donde la obtuvo de – bicycle

2

que estaba enfrentando el mismo problema con sharethis y la paginación Ajax. Los botones no se mostraban después de las publicaciones cargadas por Ajax, así que busqué y encontré esto. que acaba de añadir la función stButtons.locateElements(); en Ajax success:

algo así como success:stButtons.locateElements();

la esperanza que esto sea útil para alguien como yo.

Gracias Ibnul

3

Esta solución también funcionará para marcos basados ​​nodejs, como Meteor.

stButtons.locateElements(); 

se necesita en la devolución de llamada representado de una plantilla, para asegurar que los botones sharethis van a aparecer en una redirección página.

0

En Drupal se puede lograr esto mediante la adición siguiente código

(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

Actualizado 09/2017 respuesta

Los stButtons objeto no existe más, ahora se puede utilizar

window.__sharethis__.initialize() 

Para reiniciar los botones

+0

Gracias.Busqué durante días y pensé que me estaba volviendo loco, porque yo era el único que no podía usar stButtons. Hecho. –

1

Para la nueva API, la siguiente solución funcionó para mí

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

Agregue este código después de cargar el contenido de ajax.

Cuestiones relacionadas