JavaScript の console.debug をオーバーライド

JavaScript console APIFireBug で使用できる console.debug など、
これは、IE などでは動かないばかりか、呼び出し以降の処理は走らない。

IE9で以下を動かしても console.debug の後の alert は走らない。

 console.debug('test!');
 alert('test');


IE で動作させる時は、console.debug をコメントに書き換えなんて作業は
やってられない。


console API を以下のようにオーバライドしてしまえば、IEconsole API
何もしない処理になる。

名前は適当で、例えば console_disables.js という JavaScript ソースを用意して
中に、以下を記述する。

var console = {};
console.log = function(){};
console.debug = function(){};
console.info = function(){};
console.warn = function(){};
console.error = function(){};
console.trace = function(){};
console.time = function(){};
console.timeEnd = function(){};



この JavaScript を、HTML headタグの中、最初に読み込まれる JavaScript ととして、

  <script src="../release/console_disables.js"></script>

をのように記述する。

オーバライドの中で引数を参照したければ、
   arguments[0] で1番目の引数になる。
JavaScript嫌いな理由の1つに、この "arguments" というキーワードが
ルールとして省略されていることで、いちいち思い出さなくてはならないことだ。