im utilizzando i pulsanti http://sharethis.com/ per offrire agli utenti di un sito Web un modo semplice per condividere il contenuto.Come creare dinamicamente "Condividi questi pulsanti" con un URL personalizzato con una funzione javascript?
Hanno informazioni su "pulsanti personalizzati" qui: http://help.sharethis.com/customization/custom-buttons
cosa assomiglia a specificare l'URL, nell'esempio tutto ciò che hanno il suo solo html come questo:
<span class="st_sharethis" st_url="http://mycustomurl.com" st_title="Sharing Rocks!"
displayText="ShareThis"></span>
ma ho bisogno di essere in grado di creare dinamicamente i pulsanti al volo senza ricaricare la pagina.
Quindi, in un'applicazione flash sto costruendo ho un "pulsante di condivisione" che attiva una funzione javascript nella pagina Web che fa dissolvere un "popup" al centro dello schermo che voglio mostrare la condivisione pulsanti. A seconda del pulsante di condivisione che qualcuno fa clic dovrà disporre di un URL creato dinamicamente.
È importante chiudere la finestra di dialogo, quindi fare nuovamente clic sul pulsante di condivisione, sperando che il codice sovrascriva il vecchio codice con nuovi pulsanti, con il nuovo URL/titoli.
Così, ho creato questa funzione javascript che chiamo dal flash, passando l'url dal flash. Ho inserito lo script e tutto ciò che è contenuto nel mio "popup" div, sperando che i pulsanti vengano renderizzati all'interno di quel div.
function shareChannel(theurl)
{
//I cant seem to find an example of what to put here to load the buttons, and give them a custom URL and title
//finally display the popup after the buttons are made and setup.
displaypopup();
}
qualcuno potrebbe eventualmente pubblicare un esempio di come potrei essere in grado di farlo senza mai ricaricare la pagina?
EDIT: @Cubed
<script type="text/javascript">
function shareChannel(chaan)
{
document.getElementById('spID1').setAttribute('st_url', 'http://mycustomurl?chan='+chaan);
document.getElementById('spID1').setAttribute('st_title', 'Custom Title is ['+chann+'] it works!');
stButtons.locateElements();
centerPopupThree();
loadPopupThree();
}
</script>
Fondamentalmente non succede nulla. Odio usare javascript perché non ho idea di come ottenere messaggi di errore o debug. Quando lavoro con flex, ho un ottimo debugger/console con cui fare confusione. Quindi, mi dispiace aver problemi a fornire maggiori informazioni. Ho notato quando rimuovo solo il
document.getElementById('spID1').setAttribute('st_url', 'http://mycustomurl?chan='+chaan);
document.getElementById('spID1').setAttribute('st_title', 'Custom Title is ['+chann+'] it works!');
Viene visualizzata la finestra popup.
Ma se ho il suddetto codice setAttribute all'interno della funzione, il popup non appare mai, quindi suppongo che qualcosa in quel codice lo stia rompendo. Eventuali suggerimenti? O almeno un modo in cui potrei usare chrome per dirmi qual è l'errore? Ho provato la console di Inspect Element ma non c'era nulla che apparisse lì quando ho attivato la funzione.
Inoltre nella parte superiore del mio codice mi hanno fatto uso:
<script type="text/javascript">var switchTo5x=true;</script>
<script type="text/javascript" src="http://w.sharethis.com/button/buttons.js">
</script><script type="text/javascript">stLight.options({publisher:'mypubidgoeshere'});</script>
Dovrei usare stLight.locateElements();
piuttosto che stButtons.locateElements();
C'è un errore di battitura nel codice, è necessario 'chann' e 'chaan', è per questo che non funziona, cambiare 'chann' a 'chaan' per il titolo e dovrebbe fare miracoli. Per la cronologia, la console Strumenti> Javacript in chrome ti porterà al debugger. Se vai lì prima di cambiare, dovrebbe avere un errore 'Uncaught ReferenceError: chann non è definito' –