6

firebug をインストールし、これらすべてのログ ステートメントを書きました。

アプリを IE でテストしましたが、もちろん「未定義」エラーが発生しました。

これを回避するための一般的なイディオムは何ですか。

ファイル内のすべての console.log ステートメントにコメントを付けたり、モックしたりする気はありません。

さて、私は何をすべきかわからない。

4

2 に答える 2

10

私は通常、ラッパー関数を次のように作成します。

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 */ }
    };
}
于 2009-07-18T00:46:38.477 に答える
1

ポール・アイリッシュは、より良いラッパーを持っていますconsole.log().

http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/

これにより、複数の引数が許可され、コンソールが存在しない場合や (Firebug Lite など) 後でコンソールが作成された場合に、(デバッグ用に) 履歴が提供されます。

于 2013-05-02T03:45:32.020 に答える