2007-05-29
_ [技術系][Web制作] Greasemonkey 専用関数 GM_addStyle を Creammonkey で使う
Creammonkey ( Greasekelly に改称するらしい)は Safari 上で Greasmonkey とほぼ同じことを可能にするものです。ただいくつか制限があって、Greasemonkey が用意している GM_* 系の関数は全滅だったりします。その中の GM_addStyle をどうにか共用しようとこんなスクリプトを書いてみました。
- __gm_addstyle_on_cm.user.js(注: Creammonkey 専用)
これを入れておけば Creammonkey で使うユーザスクリプトも GM_addStyle を使用して気楽に書くことができて Greasemonkey とのコンパチ性も上がります。多分。
Creammonkey はスクリプトごとに空間分けないから GM_addStyle を使うスクリプトより先に関数定義しちゃえばいいのよね という安直なアイディアに基づき、とりあえずワイルドカードで全てのページで実行されるようにしつつ、スクリプト名の頭にアンダースコアを置き他のスクリプトより先に実行される可能性を高めています。
ユーザスクリプトと関係ないページでも処理が増えるので重くなる気もしますが、今のところ私は何も感じないのできっと大丈夫なんでしょう。
スクリプトの中身はたしかこの辺りを参照したはずです。たしか Greasemonkey が採用している style を追加する方法をそのまま移植したら一部のスタイルが上手く効かなかったのでこうなったと思うんですが、関数自体を書いたのはもう数か月前なのでちょっと記憶は曖昧。