2011年8月18日木曜日

Google Chrome と Firefox Greasemonkey の互換性

Firefox Greasemonkey のスクリプトが Google Chrome で動くというけれど、スクリプトのヘッダー部分にある @include を @match にするというだけではダメだったりする。

@include …/troop.php#ptop
というURLに対してスクリプトを動かしたいのだが
Firefox + Greasemonkey では動作するが、Chromeじゃ動かない。
@match …/troop.php#ptop
とするだけではマッチしないようなのだ。

でしょうがないので
@match …/troop.php*
としておいて、スクリプト内で
if (document.URL.match('#ptop$')) {

}
という具合にして、URLをチェックして該当する場合に実行するようにしたらOKだった。