set Conteúdo do botão 'dados-texto' do Tweet dinamicamente com javascript ou ..?
Aqui está o código em funcionamento em um formulário que exibe um botão Tweet - o botão em um formulário que exibe várias imagens - quando o usuário clica em uma das imagens, ela se torna a imagem 'selecionada' e o botão Tweet deve twittar o nome e o URL da imagem selecionada:
<a id="tweetBtnId" href="https://twitter.com/share" class="twitter-share-button"
data-text="Check me out on OurWebSite!"
data-url=http://$ourSiteURL
data-via=http://$ourSiteURL data-size="medium" data-count="none">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];
if(!d.getElementById(id)){js=d.createElement(s); js.id=id;
js.src="//platform.twitt,er.com/widgets.js"; fjs.parentNode.insertBefore(js,fjs);}}
(document,"script", "twitter-wjs");</script>
Tenho um manipulador 'onclick ()' para a div que exibe a imagem. Quando o usuário clica em uma das imagens, o manipulador onclick () de sua div é chamado e define essa imagem como 'CurrentlySelectedImage' na página - e o manipulador onclick () precisa atualizar o 'data-text' do botão Tweet atributo com o nome da imagem recém-selecionada:
// This is part of the code of the 'onclick()' handler for
// the image being selected.
<script>
function handleImageOnClick()
{
var myDynamicTweetText = "name of currently-selected image goes here";
var elem = document.getElementById("tweetBtnId");
alert("The elem is: " + elem); // elem IS NULL !! Dagnabbit.
// this fails because 'elem' is null
elem.setAttribute("data-text", myDynamicTweetText);
// other onclick() code not shown for brevity......
}
</script>
Preciso alterar dinamicamente o valor do atributo 'data-text' no botão Tweet para ser o nome da imagem selecionada. Eu adicionei o código javascript acima do qual falha-- o 'elem' obtido a partir do código aqui:
var elem = document.getElementById("tweetBtnId");
é nulo (acho) por causa dessa linha no código do botão do Twitter acim
if(!d.getElementById(id)){js=d.createElement(s); js.id=id;
Não tenho certeza, mas parece que o script padrão do botão Tweet do Twitter substitui qualquer tentativa de adicionar um atributo 'id' ao botão Tweet.
Você verá que adicionei o id = "tweetBtnId" no botão Tweet acima, para ter acesso ao botão Tweet no manipulador onclick () de seleção de imagem acima e defina o 'data-text' para o nome da imagem recém-selecionad
Só duvido que o objetivo de design do Twitter para o botão Tweet fosse "vamos emburrecer esse otário, DEIXE DEIXAR DEIXAR, apenas permitiremos que esses animais escolham UM valor de texto de dados - cada botão do Tweet precisa ter um código". Uma vez na página "atributo de texto de dados - é uma piada se eles tentarem alterar dinamicamente o atributo de texto de dados do botão Tweet"
Preciso fazer isso funcionar - alguma idéia?