dll 関数 の補足と覚書

GM_xmlhttprequest の onload でなんで .call とかやっているかというと、一部ライブラリが this を window (Global) と仮定したコードになっているからです。eval のコンテキストの this を window (Global) オブジェクトにしてあげて、例えば MochiKit の export 先オブジェクトをそこにしてあげているわけです。

でもって、なぜ unsafeWindow でなく window なのかっていうのは、その export された関数とかが、ロードされたページに影響を及ぼさないためです。Greasemonkey 中の window はページ内のスクリプトからはアクセスできない (safe) ので、Greasemonkey 内限定で使う場合、副作用の懸念を減らすことができます。


でもって、id:brazil さんの記事 で、あああって思った。全部とってきてから eval したら、変に何回もリクエスト送らないでいいや。と、いう、か、GM_setValue 使えばいいんだけど、ちょっと GM_setValue で長い文字列突っ込むのは怖い。

  1. トップ
  2. js
  3. dll 関数の補足と TODO