Firebugのコマンラインを拡張してincludeできるようにしたら便利でした
さいきんFirebugでコードを書いている。書いてCtrl-Enterを押した瞬間に結果が確認できるので気持ちがいい。Canvasを使えばグラフィックも扱える。BASICでコードを書く感覚を思い出した。

Firebug上では、あんまり長いコードを書くのはつらいところが難点だった。自分で拡張してincludeできるようにしたらこれがすごくいい。Firebug上で実行して動作を確認しながら関数を書いていって、うまく動くようになった時点でincludeしているファイルのほうに移動してFirebugのコマンドラインを空にする。vim上でコードを書いてブラウザに戻ってきてreloadするのにくらべてストレスが少ない。
vim上でコードを書き換えたときもCtrl-Enterでもう一度includeされて実行されるので、リロードは発生しないし、Firefoxとvimとをいったりきたりしなくてもいい。
Firebug を「カクカク化」して $x の第 2 引数でコンテキストノードを指定できるようにする。 – IT戦記のはなしの流れで、だれかがuserChrome.jsに書いたらいいじゃん、と書いていたのを思い出してuserChromeで拡張することにした。
[Ext] userChrome.js 0.8 – MozillaZine Forumsからダウンロードした。0.8はFirefox3でしか動かないっぽくて、Firefox2のままにしていたWindowsのほうもFirefox3にしちゃった。
更新 2008.2.25
FirebugCommandLineAPIがあるとかないとかでエラーが出ることがあったのでwatchメソッドでオブジェクトが存在するようになるのを待ってから実行する
を組み合わせて使うようにした。
現在のchrome/userChrome.jsはこうなってる。
( function (parentObject, props, f) {
var fn = props.reduceRight( function (callback, propname) {
return function (parentObject) {
if ( parentObject[propname] ) {
var newValue = parentObject[propname];
callback(newValue);
} else {
{
parentObject.watch( propname, function ( name, oldValue, newValue ) {
callback(newValue);
unwatch(parentObject, name);
return newValue;
} );
}
}
};
}, f);
fn(parentObject);
} )(window, ['FirebugCommandLineAPI'], function(newvalue) {
newvalue.prototype.json2infogami = function (firstarg) {
var infogamiEscape = function (v) { return v.replace(/([_\*])/g, "\\$1" ) };
var textfilter = infogamiEscape ;
var a = (firstarg.constructor.name == "Array") ? firstarg : arguments;
var r = [];
for(var i = 0; i < a.length; i++) {
var siteinfo = "";
for ( var n in a[i] ) {
var v = a[i][n];
siteinfo += n + ": " + textfilter(v) + "\n";
}
r.push('
はじめこれってウェブページの側からもincludeできてセキュリティ的にはちょーやばいかもとおもったけど、そんなことはなくてFirebugCommandLineAPIで登録される関数はウェブ側からは見えなくて、コマンドラインを実行しているsandboxからだけ見えるようになってました。ウェブ側から見えるFirebugのオブジェクトはconsoleだけで、なにを追加しようが外側からはみえないので安全みたい。
Firebugのコンソールのコマンド拡張はしばらくはまりそう。
About this entry
You’re currently reading “Firebugのコマンラインを拡張してincludeできるようにしたら便利でした,” an entry on ku
- Published:
- 2008.02.19 / 10pm
- Category:
- Firebug

No comments
Jump to comment form | comments rss [?] | trackback uri [?]