Keep on moving

あんまりまとまってないことを書きますよ

GreaseMonkeyではjQuery1.4.xを使うのは面倒

ことの発端

近頃日本語で検索するとhttp://ja.efreedom.comって言うサイトがよく対象に表示されるようになった。でもこのサイト英語の内容を日本語に機械翻訳していることが多く、英語に即切り替えたいんだけど翻訳リンクが画面の一番下にあって正直使いづらいので、画面一番上にも翻訳リンクを表示するようにするGreaseMonkeyを書いてみた。

https://gist.github.com/663545

Domを簡単にいじるだけなのでGreaseMonkeyからjQueryをrequireするのが一番簡単なのだけど、requireするとエラーになってしまう。バグなのかどうなのかはわからないけど、jQueryのフォーラムでも話題になってる。が、まだなおってない様子。
Importing jQuery 1.4.1 into greasemonkey scripts generates an error - jQuery Forum

対応策は以下の2つ

  1. jQuery1.3.2ならばrequireしてもエラーにならない
  2. jQuery 1.4.2 for GreasemonkeyみたいにjQueryで引数のwindowをunsafewindowに書き換える

今回はjQuery1.3.2を使いました。
まぁでも今回やろうとした内容はPure JavaScriptで書いた方がスピード面から考えても良かったのかもしれないですね。