読者です 読者をやめる 読者になる 読者になる

TwitterPostAnywhre

UserJS Opera Greasemonkey

Twitter Post AnywhereというGreaseMonkey Scriptを書きました。
Twitterの各発言のFavoritesボタンの横に返信用のボタン(と、後述のReblog用のボタン)を追加します。
返信用ボタンをクリックすると、直下に「@username 」が入力された状態のテキストエリアが表示され、その横のボタンをクリックするとPOSTすることができるようになっています。返信用ボタンをもう一度クリックするとフォームを閉じます。

Twitter Post Anywhere for Greasemonkey

修正履歴
  • 2007/10/5
    • Twitterの画面レイアウト変更によって、ユーザーページで機能していなかった問題を修正
    • Tinyurlの展開機能、reblog機能をユーザースクリプトコマンドから変更できるように修正(Operaの場合、 javascript:GM_Menu(); とアドレスバーに打ち込んでください。)
  • 2007/8/28
  • 2007/7/30
    • Tinyurl展開時に文字列が一定以上連続する場合、折り返しを行うように修正。
    • アイコンが追加される行が少しずれていた問題を修正。(_tad_さんどうもです。)
  • 2007/7/29
    • 発言に含まれるTinyurlを展開する機能を追加。同時にTinyurl化しているUstreamリンクもプレビューできるように変更。
  • 2007/7/27 ver1.2
    • Twitterに貼られたUstreamのchannelからその場でプレイヤーを起動できる機能を追加
    • Protectされた読めない発言があったときにバグが発生していた件を修正(2007/7/28 1:55) ※わかりやすいバグ報告をくれたlomo tnx!!
  • 2007/7/22 ver1.1
    • POSTボタンをタブキーでフォーカスできるように変更(input要素に変更)
    • POST時にloadingアイコン追加
    • POST成功時にフォームを閉じるように変更(POST失敗時はフォームが残るはず)
    • 対応箇所を追加(WithOthersなどのトップに表示されている発言)
    • パフォーマンスの改善
  • 2007/7/16
    • POSTしたあとにフォームの中を消すように修正(そのうちレスポンスを見て成功/失敗を見るように修正します)
      • 加えてフォームを閉じるように修正
    • 返信フォームが空の場合、@usernameを再度補完するように修正
    • reblog時に簡易フォームでの編集が反映されないバグ修正
    • Operaで動いていなかったかもしれない問題を修正

一応返信用ですが、@usernameを消して普通のフォームとしても使用できます。

:画面イメージ
返信ボタン/Reblogボタン追加画面

id:swdyhさんのAutoPagerize for Greasemonkeyにも対応しているので、次々のページを進んでいってもそれぞれの発言にボタンが付くので手軽に返信することができます。

TwitterのReblog

TwitterのReblogについてはlomoさんのところで、紹介があります。
Caramel-Tea.com

このscriptにもReblog機能がありますが*1id:youpyさんのscriptとかぶるところがあるので、デフォルトはオフになっています。
スクリプトの13:14行目のreblogをtrueにするとreblog機能が使用できるようになります。

youpyさんのTwitter ReBlogger for Greasemonkeyとの違いは

  1. Favoritesボタンとは別にReblogボタンが追加される
  2. 簡易確認フォーム(prompt)が出る
  3. Operaでも使用できる

の3点です。

なお、アイコンはfamfamfam.com: Iconsからお借りしました。
アイコンのBase64エンコード[JavaScript] dataスキームURI生成(画像データのBase64変換)を使用しました。

*1:というか、それが元の機能でした