読者です 読者をやめる 読者になる 読者になる

tumblr

tumblr(タンブラー)は、メディアミックスブログサービス。ブログとミニブログ、そしてソーシャルブックマークを統合したマイクロブログサービスである。アメリカのDavidville.inc(現: Tumblr, Inc.)により2007年3月1日にサービスが開始された。

ツイートボタンのツイート内容を動的に変える

web製作 Javascript

https://twitter.com/about/resources/buttons#tweet

そこかしこにあるtweetボタン、上記URLでツイートする内容とかどのハッシュタグつけるかを指定して作ることができます。
が、結局これはtwitterの提供するjsが、ページ読み込み時にaタグをボタンとしてレンダリングしているので、指定したツイート内容をレンダリング後に変更するなんてことはできません。

でも、動的にツイート内容を変えたいと思うことはあるでしょう。
例えばjsで作ったゲームのスコアをツイート内容に含めたいとか。ページ表示時(=ボタンのレンダリング時)にはゲームのスコアはわからないから、ツイート内容を決められないわけです。

で、どうやるかを覚書。といってもここに総てが書いてある。
https://dev.twitter.com/discussions/6860

widget.jsというのがレンダリングをしてくれてるらしいので、その中に以下のメソッドを使えば再レンダリングしてくれる。

twttr.widgets.load()

なので、ツイートボタンを表示したい段階で以下のようにフォーマットに沿ったaタグをappendしてloadする。

$("tweetButtonWrapper").html('<a href="https://twitter.com/share" class="twitter-share-button" data-via="shim0mura" data-text="スコアは'+ score + '点でした。" data-lang="ja">ツイート</a>')
twttr.widgets.load()