Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

Bookmarklet 開発実績

TwitterでクリッピングするためのBookmarklet

投稿日:


いままで、ブログのURLや引用をTwitterにツイートするブックマークレットは何度か作っています。

上の2番目のエントリーでTwitter公式のBookmarkletを改造して使ったりしていたんだけど、大分前にメインブラウザをChromeに切り替えていて、Chromeでは動かないようだったのでサクっと書き直してみました。前は外部JSを呼び出す方式をとっていたんだけど、面倒なコードをいくつか捨ててワンライナーです。
Twitter Clip
↑のリンクをブックマークしてください。

  1. そのまま実行すると、見ているページの「タイトル t.co短縮URL」というフォーマットでTweetBoxが表示されます。
  2. ページ内を選択した状態で実行すると、「”引用部分” t.co短縮URL」というフォーマットでTweetBoxが表示されます。

前のブックマークレットでは文字数制限にかからないように切り捨てとかやってたんだけど、省きました。


ちなみに、スクリプトの中身を分かりやすく書くとこんな感じ。

javascript:
(function(){
var d=document,
w=window,
l=location,
e=encodeURIComponent,
s=(d.selection)?
d.selection.createRange().text:(w.getSelection)?
''+w.getSelection():(d.getSelection)?
d.getSelection():'',
t=!s?d.title:'%22'+s+'%22',
f='http://twitter.com/share?_='+(new Date()).getTime()+'&url'+e(l.href)+'&text='+e(t);
if(!w.open(f,'_blank'))l.href=f;
})();

t変数の部分がテキスト部分になります。ここを変更すればフォーマットを自由に変更できます。
例えば、文頭に必ずハッシュタグ(#clip)を入れたい場合は、

t='#clip '+(!s?d.title:'%22'+s+'%22'),

こんな感じにすればいいはず。
引用の場合もタイトルは入れたい場合、

t=!s?d.title:'%22'+s+'%22 '+d.title,

こんな感じかと。
Chrome、Firefoxではちゃんと動くと思いますが、多分IEでも動くと思います。
enjoy!

-Bookmarklet, 開発実績

執筆者:

関連記事

英→日、日→英を自動的に判断して翻訳してくれるYahoo!Pipesとブックマークレット

ブログのネタを探したり、仕事で調べものをしているとちょっと英日/日英の翻訳したいって事があります。そんな時にブックマークレットかなんかで簡単に変換できると便利です。 単語だけであれば、英辞郎の結果を表 …

no image

GYM Ranking の不具合を修正しました

随分前に公開していた、Google/Yahoo/MSNの検索結果から総合的にSEOランクを見る事ができる「GYM Ranking」ですが、YahooとMSNのマークアップ変更によって、スクレイパーがう …

no image

Nslookup API を作りました

前回はnslookupをPHPで実現してみたのですが、 ・nslookupをPHPで実装する簡単なサンプル 折角なのでAPI化して誰でも使えるようにしてみました。 ・Pipes: Nslookup A …

no image

Deliciousでreblog:選択範囲をNOTESにコピーできるブックマークレット

小ネタです。 tumblrのブックマークレットは選択範囲を簡単に登録できるようになっていて引用がしやすいです。で、リブログはtumblr、ブクマはDeliciousな感じで使っているんですが、ブクマす …

新はてブのコメント一覧画面をコンパクトに見やすくするGreasemonkey「Hatebu Entry Compact」

はてブ2(新はてなブックマーク)ではデザインが洗練されて見やすくなったとは思うんですが、丸みを帯びたパーツのせいか結構縦に長くなってしまったような気がします。 エントリー詳細画面(http://b.h …

スポンサードリンク

スポンサードリンク