2010-01-15 3 views
3

Я использую виджет ShareThis. Мне нужно изменить свойство url после того, как объект был создан, поэтому я использую функцию функции обратного вызова. В функции обратного вызова я пытаюсь изменить свойство url, но оставшееся сообщение по-прежнему содержит старое значение.Свойства свойства ShareThis в обратном вызове не работают

Неужели кто-нибудь смог решить эту проблему? Если это так, я был бы признателен за вашу помощь!

Вот пример кода

<script type="text/javascript"> 

     SHARETHIS.addEntry({ 
      title: 'ShareThis'}, 
    { onclick: myCustomCallback } 

     function myCustomCallback(SharedObject) { 

     SharedObject.properties.url = "http://www.myurl.com"; 
     return true; 
    }; 

</script> 

ответ

1

Это невозможно изменить URL динамически. Если вы хотите сделать что-то напуганное, вам нужно будет создать новую кнопку с новым URL-адресом. Это можно сделать несколькими способами, причем простейшим является создание элемента, который содержит кнопку, и запускает создание пользовательского элемента кнопки каждый раз, когда что-то происходит, что должно инициировать изменение URL-адреса.

Я могу показать вам пример реализации, который мы собрали для HP несколько недель назад. Они фактически называют функцию «share» внутри Flash-ролика, но этот прототип запускает его с одной кнопки.

Вы можете связаться со мной по [email protected]

+0

Привет, мне интересно, если ваше решение здесь будет помочь с моим вопросом - http://stackoverflow.com/questions/5036133/how-do-i-trigger-a-sharethis-button-regen – blueberryfields

3

Используйте это:

$('span[class^="st_"]').html(''); // Empty span contents 

$('span[class^="st_"]').attr('st_processed',null); // Reset ST plugin 

$('span[class^="st_"]').attr('st_url',url); // Set new url 

stButtons.makeButtons(); // Renew buttons 
+0

('st_processed', null) работал для меня .. Большое спасибо. –

Смежные вопросы