SafariでUser JavaScriptを使う。
FirefoxのgreasemonkeyのようなUser JavaScriptをSafariで使うことができるCreammonkeyを試してみた。
当然JavaScript自体が完全互換ではないし、Greasmonkey用のスクリプトはFirefoxで、しかもローカル動作が前提なので盛大にエラーを吐き出すものもあるが、コンセプト部分のコアコードは結構動くスクリプトが多い。
例えば、Japanizeでは再帰置換で使ってるreplaceのコードの部分でちょっと問題があったりするが、おおむね良好。ローカルにスクリプトを引っ張ってきて、Safariで問題が発生しにくいように調整してみたりする。
うん、これはおもしろいよ。なんだか、仲間入りできた感じ。
追記
Japanize開発者のKazuhoさんがブックマークで反応されているので、reproduce。
/^(?d+) (Jan|Feb| snip...>)$/ => $1$R1
のような$R?dを使った正規表現や再帰置換処理で、replace (/[pattern]/g, function(){})のfunctionがSafariではon the flyに処理されず、そのまま画面に出現します。
Creammonkeyでインストールしたスクリプト編集
Creammonkeyでインストールしたスクリプトは~/Libraries/Applications Support/Creammonkey/
に保存されています。
Japanizeではサーバのスクリプトを読み込むので、core.jsをダウンロードしてelem.src = 'file:///Users/taiyo/Desktop/core.js';
のようにローカルで編集することでwork aroundを試みることができます。
修正していただきました
開発者のkazuhookuさんに修正していただきました。
感謝。