またOperaでニコニコ動画見てる

「またニコニコ動画見てる」とTwitterに投稿するリンクを作成するGMスクリプトバージョン0.2 - むぅもぉ.jpOperaでも。
Twitterの仕様上使えなくなったので、代わりにTwitterへのリンク(status付き)を設置するだけのシンプルなScriptに修正

http://ss-o.net/userjs/mata.opera.de.nicovideo.js

実は2週間前にはできてたんだけど、どうにかしてOperaやSleipnir+SeaHorseで「またニコニコ動画見てる」を作れないか - むぅもぉ.jpみてそのことを思い出した。


クロスドメイン問題をどうやって解決しているのかポイントを解説。
要はニコニコとTwitterの両方で同じスクリプト読み込み、それぞれにデータの作成とデータのPOSTを分担させる方法です。。
以下、その流れ。

  • ページを開いたらとりあえずiframe作成。iframeのsrcはTwitterのupdate APIで、hashにPOSTしたいデータをつけておくことでTwitter側にPOSTしたいデータを渡す。
  • Twitter側で上記のデータつきURLに対応する「また見てる」ボタンを(iframeの中に)表示する。
  • ボタンを押すとhashを元にPOSTするデータを作って、(promptで一応確認しつつ適当にコメントつけてみたりして、)POSTする。
  • iframeはtwitter.comドメインなので、問題なくPOSTできる。


ただし、この方法ではTwitter側のScriptがCSRFになりかねない問題がある。
ので、document.referrerを見て、ニコニコから来てるか確認している。


いつの間にか本家のバージョンが上がっているので、あとで対応する。あと、Safariでも動くか確認しよう。SeaHorse対応はid:monjudohに期待。