Greasemonkeyの0.8が出ましたね

いくつか新しい機能が増えてるのだけれど、@resourceが激しく便利

@resource

Value: String
Compatibility: Greasemonkey 0.8.0+
Usage: // @resource resourceName http://www.example.com/resource.png

* While the resourceName is non-semantic, it is suggested that it should be compatible with JavaScript variable naming conventions and XML/CSS naming conventions to help keep things consistent.
* Each resourceName must have a unique name.
* This metadata block key property may be used to include local and remote resources into the current script at first install but not successive installs. A user is required to uninstall the current user script before installing a newer version if new resource keys or require keys are present.
* Resources may include the scheme of file, http, https or ftp. If no scheme is provided, it is assumed to be the domain from which the script is installed including the full path.

外部のJS(例えばjQuery)を取り込んでユーザスクリプト内で使えると言う事
例えば

〜略〜
// @resource      jQuery http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js
// ==/UserScript==

(function(){
    eval(GM_getResourceText("jQuery")); //もちろんevalしないと駄目
〜略〜
    $("#main").append($("< /p>").text("hoge"));

みたいな感じ、しかもGzipが掛かっていてもOKだという素晴らしさ

同様にして他サイトのURLを指定するとまるまる持って来れたりするけどGM_xmlhttpRequestのresponseTextと同じだったりするので残念な感じ
もしかするとjQueryの機能で簡単にパース出来るかもしれないけど、今の所うまいやり方がわからず

あと、全体を()で括って無名関数にしている時の@requireの使いかたが?うちの図書館用のグリモンみたいにロジックは一緒だけど与えるURL等が異なる時にうまく使えればなぁ