IT戦記

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

Firebug のコンソールに出力される形式を変える

そう><

length が数字だと無条件で配列扱いなんですよね。
childNodesとコメント - ロックスターになりたい

という訳で、

domplate をちょっといじってみたら意外と楽に出来たのでメモメモ

  • domplate は Firebug のテンプレートエンジン
  • コンソールの形式を定義したオブジェクトを作る
    • 自分が担当するオブジェクトが supportsObject に渡ってきたら true を返す
    • tag はコンソールに出るときのテンプレート(domplate)
    • shortTag は配列の中に入ってるときのテンプレート(domplate)
    • getTitle はプロパティの中に入ってるときの文字列(たぶん?)
  • 作ったオブジェクトは registerRep に入れる
image


diff
Index: reps.js
===================================================================
--- reps.js     (リビジョン 241)
+++ reps.js     (作業コピー)
@@ -488,6 +488,29 @@
 
 // ************************************************************************************************
 
+this.Comment = domplate(Firebug.Rep,
+{
+    tag: OBJECTLINK("<-- ", SPAN({class: "nodeTag"}, "$object.nodeValue|cropString"), " -->"),
+
+    shortTag: OBJECTLINK(SPAN({class: "selectorHidden"}, SPAN({class: "selectorTag"}, "!comment") ) ),
+    
+    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
+    
+    className: "element",
+
+    supportsObject: function(object)
+    {
+        return object instanceof Comment;
+    },
+
+    getTitle: function(object, context)
+    {
+        return "<!>";
+    }
+});
+
+// ************************************************************************************************
+
 this.Element = domplate(Firebug.Rep,
 {
     tag:
@@ -1411,6 +1434,7 @@
     this.NetFile,
     this.Property,
     this.Except,
+    this.Comment,
     this.Arr
 );

XPathResult 用のを作りたい!Firebug 最強。