この記事の説明は古いため動作しません。修正作業は bug 1160851 で行われています。
スクラッチパッドを用いてコマンドを作成するには、chrome 権限が必要です。この機能を有効にする方法は、スクラッチパッドのドキュメント に記載しています。
基本的なコマンドテンプレート
もっともシンプルなコマンドは以下のようになります:
Components.utils.import("resource://gre/modules/devtools/gcli.jsm"); gcli.addCommand({ name: 'hello', description: 'Show a message', params: [ { name: 'name', type: 'string', description: 'Who to say hello to', } ], exec: function(args, context) { return 'Good morning, ' + args.name; } });
上記の内容を新規に開いた chrome 権限のスクラッチパッドに貼り付け、(スクラッチパッドのメニューで) 実行環境を "ブラウザ" に設定して実行 (CTRL+R) すると、コマンドラインに 'hello' コマンドが追加されます。
参考情報
アドオンとの互換性
簡単にアドオンへ変換できるように、コマンドを作成できます。以下のテンプレートを使用してください:
Components.utils.import("resource://gre/modules/devtools/gcli.jsm"); var helloCommandSpec = { name: 'hello', description: 'Show a message', params: [ { name: 'name', type: 'string', description: 'Who to say hello to', } ], exec: function(args, context) { return 'Good morning, ' + args.name; } } // The boiler plate below allows this module to be exported as a Firefox add-on // If you don't need add-on compatibility, you just need to call // gcli.addCommand(helloCommandSpec); function startup(data, reason) { gcli.addCommand(helloCommandSpec); } function shutdown(data, reason) { // addCommand automatically removes any old commands, but to be tidy ... gcli.removeCommand(helloCommandSpec); } var __SCRATCHPAD__ = !(typeof(window) == "undefined"); if (__SCRATCHPAD__ && (typeof(window.gBrowser) == "undefined")) { throw new Error("Must be run in a browser scratchpad."); } if (__SCRATCHPAD__) { shutdown(); startup(); } function install(data, reason) { } function uninstall(data, reason) { }