OperaUserJavascriptManager v0.30

userjsmanager.zip

名称が変わりました

OperaUserScriptManagerからOperaUserJavascriptManagerに。ファイル名とかは一切変化無し。

理由:ぐぐったらUserJavascriptが正式っぽかったので。Operaのヘルプにも書いてあるし。

ユーザー JavaScript による制御

というか、UserScriptでぐぐってもGreaseMonkeyのコードばっかりヒットするのよね。

ふと思った

GreaseMonkeyはインストール時にconfig.xmlに色々設定を記録するが、実際に動作する時はgm_script内に保存したスクリプトをそのまま呼び出している。

なので、OperaUserScriptManagerの対象フォルダをgm_scriptに設定すれば、スクリプト情報の変更や無効化が効かなくてもアップデートは有効。

・・・これFirefoxでも使えね?

というわけで

last-modifiedを吐かない(動的にページを作ってるからだと思う)Userscripts.orgから最終更新日を取得できるようにした。

また、スクリプト本体にuserscript.orgのURLを発見したら、自動的にそれをスクリプトのページとして登録して更新前の手間を省くようにした。

さらに、Opera用とFirefox用に使い分ける為に、設定ファイルを指定できるようにした・・・んだけど、これってどうなのかね?

設定ファイルを一元化して、タブあたりでOperaかFirefoxに切り替えられるほうがいいのか。そうすれば、設定ファイル複製⇒コマンドプロンプト経由で起動という2ステップが省略されるんだよな。

だが、そこまでいくと、本来Operaに特化していたはずなのに、Firefoxもサポートしていくようになってgdgdになってしまう恐れがあるので、今はOpera特化ということで見送り。

スクリプトの文字コード

扱いやすいからUTF-8で読んでUTF-8で保存してるんだが、問題はあるのか? 基本的にスクリプト内に2バイト文字を挿入することがほとんどないはずなので大丈夫だとは思うが。

あと、open-uriでダウンロードしたスクリプトの全ての改行に\rが付くのは一体何故だ。とりあえず/\r$/mで対処。

コマンドプロンプトウインドウがウザイ

消すこともできるが、AVGが反応してしまうので仕方なく表示している。

どうも、かの山田オルタナティブがRuby+exerbで作られていたらしく、それで誤検知しているらしい。

参考:ITmedia エンタープライズ:「山田オルタネイティブ」の動作を知る (2/2)

そこで、WindowsAPIを使って、起動後にコマンドプロンプトウインドウだけ消せないかと思って試したら成功したので搭載した。起動後少し表示されるが、すぐに消えるようになった・・・はず。

せっかくだからOperaのユーザースクリプトを探せるとこ一覧