2010-09-22 21 views

risposta

43

dopo aver aggiunto il nuovo contenuto al DOM, chiamare

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

Mi hai appena salvato una buona dose di caccia :). –

+0

Sei una bravissima persona. Ha reso la mia giornata! – jerrygarciuh

+0

@jerrygarciuh Ciao Jerry, Felice di essere d'aiuto! Grazie per il commento e upvote. –

-3

ho trovato la seguente soluzione su uno dei forum AddThis e ha funzionato ottimo per me. Ho chiamato la funzione come richiamata alla mia chiamata ajax. Hoep aiuta

<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

che non ha alcun senso. Che cosa sono i campi-scivolo o dove sta la posizione e il suffisso? Meglio mettere l'url dove l'hai preso da – bicycle

2

Mi trovavo di fronte allo stesso problema con la paginazione di sharethis e Ajax. I pulsanti non venivano visualizzati dopo i post caricati da Ajax, quindi ho cercato e trovato questo. Ho appena aggiunto la funzione stButtons.locateElements(); su Ajax success:

qualcosa come success:stButtons.locateElements();

Spero che questo sarà utile per uno come me.

Grazie Ibnul

3

Questa soluzione funziona anche per le strutture basate NodeJS, come Meteor.

stButtons.locateElements(); 

è necessario nel callback reso di un modello, al fine di garantire che i pulsanti ShareThis appariranno su una pagina di reindirizzamento.

0

in Drupal è possibile raggiungere questo obiettivo con l'aggiunta di codice seguente

(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

Aggiornato 09/2017 risposta

I stButtons oggetto non esiste più, ora è possibile utilizzare

window.__sharethis__.initialize() 

Per reinizializzare i pulsanti

+0

Grazie.Ho cercato per giorni e ho pensato che stavo impazzendo, perché ero l'unico che non poteva fare uso di StButtons. Fatto. –

1

Per la nuova soluzione API seguito ha lavorato per me

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

Aggiungere questo codice dopo il caricamento del contenuto ajax.

Problemi correlati