JavaScript の console API 、FireBug で使用できる console.debug など、
これは、IE などでは動かないばかりか、呼び出し以降の処理は走らない。
IE9で以下を動かしても console.debug の後の alert は走らない。
console.debug('test!');
alert('test');
IE で動作させる時は、console.debug をコメントに書き換えなんて作業は
やってられない。
console API を以下のようにオーバライドしてしまえば、IE で console 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" というキーワードが
ルールとして省略されていることで、いちいち思い出さなくてはならないことだ。