IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

Firebug 1.2 を使ってみた。

GranParadaiso で作業してて

  • おいおい。 Firebug 対応してねーよー。
  • ちょっとソース見てみるかあ

chrome からコンテンツにプロパティを設定できなくなっちゃった見たい。。。

win.hoge = hoge; // <- win はコンテンツの window
win.location = "javascript: eval(hoge)"; // <- hoge がないって怒られる

みたいなところが動かなくなってるみたい><

で、リポジトリを除いてみたら

branches/firebug1.2 ってのがあった

さっそくビルド

$ svn co http://fbug.googlecode.com/svn/branches/firebug1.2
$ cd firebug1.2
$ ant

firebug1.2/dist に xpi が出来てるので、それを Firefox で開く

動いたー!


ちょっと気になったのでソースを見てみたら

var sandbox = new Components.utils.Sandbox(win);
var sandbox.hoge = hoge;
Components.utils.evalInSandbox('alert(hoge)', sandbox);

こんな感じで Components.utils.Sandbox というのを使っていました。

ただ

これを使うと、var 宣言された変数は sandbox オブジェクトプロパティになってしまう(グローバルオブジェクトは win だけど)ので、そこだけ注意が必要。
今まで、コンソール上で var したらそのままコンテンツでも変数になったけど、 Firebug 1.2 では window.hoge = 'hoge'; のようにして変数を追加しない限りコンテンツは汚れない。