こたらの日記

ブックマークレットとURLスキームを組み合わせたらすごく便利だった!

Cover Image for ブックマークレットとURLスキームを組み合わせたらすごく便利だった!


ブラウザで見てるページをツイートしたい。でも、見てるページによってはどこにツイートボタンがあるかわからない。そんなページでもすぐにツイートできたらいいなって思いました。

用意されてるツイートボタンを押すとTwitterのWebからの投稿画面が出てきますよね。僕はあれがどうしても好きになれません。嫌いというかなんとなく違和感を感じちゃいます。

かといってiPhoneのSafariからツイートしようとするとURLしかセットされないしいまいち。
だったら「自分で作るしかない!」と思って調べてるうちにいい感じのができたのでご紹介します!

ツイートするブックマークレット

最低限これだけは欲しいという機能は記事タイトルと記事URLを載せることです。
Safariから起動できればいいなっていうことでブックマークレットを作ってみることにしました。

作る前に「僕が欲しいのがどっかにあるかも」と思って調べてみたりもしたんですがみつかりません。
こんな感じでTwitterのWebからの投稿画面が開くブックマークレットならありました。

javascript:window.open('https://twitter.com/home?status=' + encodeURIComponent(document.title + ' %C2%BB ' + location.href));void(0)

via:今見ているWebページをTwitterでつぶやくブックマークレットを作りました。 « やぎにいどっとこむ

ツイートするURLスキーム

TwitterのWebの投稿画面がどうも好きになれない僕は、Twitterクライアントを使って投稿したいわけです。
なのでTwitterクライアントのURLスキームを調べて、投稿するURLスキームを探しました。

twitter://post?message=

これをさっきのTwitterでつぶやくブックマークレットと組み合わせてちょっと編集。
できたコードがこれです!

javascript:location.href='twitter://post?message='+encodeURIComponent(document.title+'%5Cn'+document.URL);

動作の内容と流れ

動作を簡単に説明します。

  1. ブックマークレットを起動する
  2. Twitterの公式アプリが起動して投稿画面が開く
  3. 投稿画面に見てたページのタイトルとURLがセットされる

という感じです。

MacでもiPhoneでも動くブックマークレット

念願の見てるページをタイトルとURLつきでツイートするブックマークレットを作ることができました!
このブックマークレットはTwitterの公式クライアントが入ってれば、Macでも動きますし、もちろんiPadでも動きます。

まさかMacでも動くと思ってなかったんですが、Macアプリも同じURLスキームだったみたいです。

今話題のSeeq+みたいに、内蔵ブラウザにブックマークレットが登録できれば、他のアプリからも起動できちゃいます!

とっても便利なURLスキーム

コードの前半の

twitter://post?message=

の部分がURLスキームになっているので、この部分を他のアプリに変えればTwitter以外にも投稿できます!

例えばBufferに送るなら

bufferapp://?u=

だし、Fasteverに送るなら

fastever://?text=

という風に。

テキストを受け取れるURLスキームがあるアプリならどんなアプリでも応用できちゃいます!

いいのができた!

これはいいのができた!
と思ってたんですけど、どうやらもう何年も前からあったみたいで。

この記事を書いてる最中にTweetBookmarkletというのを見つけました!
参考記事:iPhoneの世界: お待たせ!TweetBookmarklet Ver.1.3でEchofon対応しました

探せば大抵のものは見つかるもんですね。
自分で作ってみたことで、色々わかったしそれはそれでよかったかな!

iPhone 5sからするぷろ for iOSを使って更新しました!