firebug をインストールし、これらすべてのログ ステートメントを書きました。
アプリを IE でテストしましたが、もちろん「未定義」エラーが発生しました。
これを回避するための一般的なイディオムは何ですか。
ファイル内のすべての console.log ステートメントにコメントを付けたり、モックしたりする気はありません。
さて、私は何をすべきかわからない。
firebug をインストールし、これらすべてのログ ステートメントを書きました。
アプリを IE でテストしましたが、もちろん「未定義」エラーが発生しました。
これを回避するための一般的なイディオムは何ですか。
ファイル内のすべての console.log ステートメントにコメントを付けたり、モックしたりする気はありません。
さて、私は何をすべきかわからない。
私は通常、ラッパー関数を次のように作成します。
function log(obj) {
if (window.console && console.log) console.log(obj);
}
または、スクリプト ファイル/要素の先頭で次のようなことを行うこともできます。
if (!window.console) {
window.console = {
log: function(obj){ /* define own logging function here, or leave empty */ }
};
}
ポール・アイリッシュは、より良いラッパーを持っていますconsole.log()
.
http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
これにより、複数の引数が許可され、コンソールが存在しない場合や (Firebug Lite など) 後でコンソールが作成された場合に、(デバッグ用に) 履歴が提供されます。