謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

nzIDebugの案

  • void dumpAllPropaties(obj);//jsconsoleへ
  • void dump(str);//jsconsoleへ
  • void showConsoleWindow();//hiddenWindowからjsconsole呼び出し
  • obj showDebugWindow(obj);//debugWindowを表示(hiddenWindowから作成。中身のプロパティを監視して表示)

showDebugWindowは

例:
a={a:"test",b:"test"};
debug=new debug();
a=debug.showDebugWindow(a);
a.a="a-a-";

コード:
function showDebugWindow(obj){
newObj={};
for(o in obj)
eval("_func=function(val){obj['"+o+"']=val;/*プロパティ更新*/alert('"+o+"'+':'+val);};");
newObj.__defineSetter__(o,_func)
newObj.__defineGetter__(o,function(){return obj[o]})
}
}

のような感じでリアルタイムに監視したいが是だと上手くいかないのは目に見えてたり。
XPCOMでなんか良さそうな方法ないかなぁ…