ブラウザで見てるページをツイートしたい。でも、見てるページによってはどこにツイートボタンがあるかわからない。そんなページでもすぐにツイートできたらいいなって思いました。
用意されてるツイートボタンを押すと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);
動作の内容と流れ
動作を簡単に説明します。
- ブックマークレットを起動する
- Twitterの公式アプリが起動して投稿画面が開く
- 投稿画面に見てたページのタイトルと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を使って更新しました!