ゆりがおかのブログ

自分用メモ、ちょっとしたことなど適当に

ツイッターにお好きなページをツイートするブックマークレットを作ってみた

(2019/07/18 追記)
ツイッターデザイン変更に伴い、この記事で紹介している方法では正しく動作しなくなりました。
修正記事を公開したので、そちらをご覧ください。
yuri.hatenablog.jp


こんにちは。春ですねえ。

このブログ、私の覚え書とか、メモとか、そういうのを載せるために作りました。決してギャグをたまに載せるためじゃないんです・・・。

で、ちょっと手が空いてきたので、いずれやりたいと思っていたJavaScriptについて調べていたのですが、そういえば、ブックマークレット(ブックマークなのにブックマーク以上のことができるすげえやつって認識でいいのか!?)ってJavaScriptのコードが書かれてたよなあ。あっ、もしかして、ツイッターで使えるんじゃないかと。

そこで、ブックマークすることで、ツイートしたいサイトのタイトルとアドレスをツイートする別ウインドウが展開されるブックマークレットってどうやるのかなあ、と探していたら、やはりすでに作られている方がいました。


http://www.msng.info/archives/2008/09/twitter_bookmarklet.php:title = いま見ているページを認証不要でTwitterに投稿するブックマークレット


・・・と思ったのですが、「別ウィンドウ展開」が実現されてませんでした。そもそもそこまでやるとは書かれてませんからね。当然です。どうやら、window.location っていうやつでは、そこまでしてくれないようです。


そこで、どうにか改造して別ウインドウ展開が可能にならないのかと調べていたら、また別のサイトを見つけました。


http://blog.bornneet.com/Entry/64/:titleポップアップしないタイプのブックマークレットを新しいウィンドウで開くようにするやつ(とその逆)



で、ここの変換フォームに、ひとつめにご紹介したブックマークレットのソースを突っ込んで変換してあげたのですが失敗。うーん、だめかあ。と思っていると、

[ポップアップ化]
location.href = ○○; → window.open(○○);

[非ポップアップ化]
window.open(○○); → location.href = ○○;

というごく単純な作業。(スクリプトの量で言うとたった1行です!)
見てのとおり、window.open()にurl以外の引数があると動きません…。


と紹介されていたので、おお、これは、と思って書いてみたブックマークレットがこちらになります。

javascript:
window.open('http://twitter.com/home?status='+encodeURIComponent('みてる: ' + document.title+' » '+location.href));


・・・まあ、ぶっちゃけ「みてる: 」がやりたかっただけなんですけどね!


もし使いたい人いたらご自由にどうぞ。「みてる: 」は書き換えても平気なはずです。
たぶん。
ああ「» 」もいじれそうですね。
たぶん・・・

なにげにjavascriptはじめてやったので、まだまだこれからです。




#ブックマークレットへのリンクの張り方、だれか教えて・・・



俺得指数・・・★★★★☆
javascript楽しいですね・・・★★★☆☆
今更感・・・★★★★★
え? 拡張機能でやれ?・・・★☆☆☆☆