ちょっと前からブログの記事にTwitter投稿用のボタンがほしいなぁと思っていたのですが、昨日思い切って作成してみました。参考にしたのは以下の記事です。
自分のブログのエントリーにtwitterに投稿するボタンもついた:[mi]みたいもん![N] ブログの記事をTwitter/Tumblrに投稿するボタンを設置する方法ちなみにどのボタンかって言うと、これです。
以下がそのScriptです。
javascript:var%20tid='<1.TwitterID>',d=document,w=window,l=location,
e=encodeURIComponent,t=(d.selection)?d.selection.createRange().text:(w.getSelection)?w.getSelection():(d.getSelection)?d.getSelection():'',
f='http://twitter.com/home/?status='+e(t)+'+[Reading]+%40'+e(tid)+'+%22'+e('<2.記事のタイトル> - <2.ブログのタイトル>')+'%22+'+e('<3.URL>');%20if(!w.open(f,'ReTweet'))l.href=f;void(0);
例えば、前回の記事のTwitterポストボタンを押すと、生成されるメッセージはこんな感じです。
[Reading] @yoppa0516 "日本でのTwitterがキャズムを超える日は遠くない? - よっぱ主義。" http://yoppa.blog.shinobi.jp/Entry/97/
ちなみに、上のScriptをそのまま丸写ししてもうまくいかないので、コピーしないでください。このScript見ての通り、計3箇所変更する必要があります。
■1.TwitterIDまずはTwitterID。上記の作成後のメッセージだと
<1.TwitterID>の部分になります。ただ、どんな人が自分の記事を読んでくれたのか知りたい時に便利かもしれません。代わりにハッシュタグを用いる方法もあります。ちなみに必要ない方は削除しても問題はありません。
■2.記事のタイトル、ブログのタイトルポストも、個別のページからのみポストをする場合と、一覧系のページからポストする場合と2種類あると思います。
単に個別のページからのみポストをするのであれば、javascriptで開いているページのタイトルを取得するだけでよいので、上述のscriptの場合、
<2.記事のタイトル> - <2.ブログのタイトル>を
d.titleに書き換えればOKです。
自分の場合は、個別のページからだけじゃなく一覧ページからも個別ページのポストができるように個別の記事タイトルを別に取得するように、忍者ブログの独自構文を用いました。
■3.URL最後にURL。2と同様、個別ページ/一覧ページで方法が若干違うかと思います。
個別ページからのポストのみでよければ、上述の
<3.URL>を
l.hrefに変更すればOK。ブログの独自構文が使える人はそれを使ってもOKです。
ちなみにここまで書きましたが、今のところIE系のブラウザでは動きません。また時間があるときに改修しますので、そのときまで待つか、もしくは教えてくださいw
■参考自分のブログのエントリーにtwitterに投稿するボタンもついた:[mi]みたいもん![N] ブログの記事をTwitter/Tumblrに投稿するボタンを設置する方法PR