javascript - 書き換え - どのjsが動いているか




コンソールが利用可能かどうかを調べる (6)

firebug 、IE8(開発ツールをF12で開く必要がある)、Chromeなどで定義されていますが、定義されている仕様はありません。 コンソールが存在しない場合、コードが爆発しないように、非常に使いやすいクロスブラウザのロギングソリューションを提供するconsole.logラッパーがあります。

私は、コンソールオブジェクトが利用可能な場合、どのように私はjavascriptで見つけることができますか?

私は問題がありますが、 console.log('sthg')ようなデバッグ出力を削除することを忘れた場合、 console.log('sthg')や同様のものがない場合、いくつかのブラウザでエラーが発生します。

手伝ってくれてありがとう

その問題の横に私はコンソールオブジェクトに関するすべての情報に興味があります。 誰かにドキュメントのリンクがありますか? それは標準ですか? 等々...


ここで私は何を使用しています。 私はコンソールをサポートしていないブラウザをサポートしています。 私はconsole.log()を使用するだけですが、console.dir()、console.info()などをサポートするためにどのように拡張できるのか分かります

var console = console || {
    "log": function(stuff) {}
};

私はそれを呼び出すのはエラーを起こさないので好きですが、それは[未定義]を返します。これは適切だと思います。

私たちの前(そして後)の多くの人々が同様のポリフィルを書いていることに注意してください。

https://gist.github.com/search?q=console+%7C%7C+console


プロパティがwindowメンバーとして存在することを確認しwindow

if (window.console) {
}

その問題の横に私はコンソールオブジェクトに関するすべての情報に興味があります。 誰かにドキュメントのリンクがありますか? それは標準ですか? 等々...

Console APIのFirebugのドキュメントを調べてください。 ChromeとSafariは、そこにリストされているメソッドのほとんど(ただしすべてではありません)を実装しています。 コンソールに何が含まれるべきかを定義する標準はないので、各ブラウザがその機能をサポートしているかどうかを確認する必要があります。


多分...

if (console) {
    // do stuff
}

私は何かをロードする前に、常にHTMLヘッダーの先頭にこれを含めます。 console.debugでのデバッグは私にとっては長すぎます。 そして、私はこれらのコンソール機能の使い方を切り替えるのが好きです。

どのようにコードが最適化されているかわからないが、それは常に仕事をしています。

(function() {
    var consoleDisabled = false;
    if (consoleDisabled) {
        window.console = undefined;
    }
    if (window.console == undefined) {
        window.console = {
            debug: function() {
                return true;
            },
            info: function() {
                return false;
            },
            warn: function() {
                return false;
            },
            log: function() {
                return false;
            }
        }
    }
    debug = (function(args) {
        window.console.debug(args);
    });
    info = (function(args) {
        window.console.info(args);
    });
    warn = (function(args) {
        window.console.warn(args);
    });
    log = (function(args) {
        window.console.log(args);
    });
})();
debug(somevar);
info(somevar);
warn(somevar);
log(somevar);

try{
console.log("test")
}
catch(e){
console={},
console.log=function(a){}
}

JSファイルの一番上に置き、console.log()を使用してください。 ブラウザのエラーを心配することなく、IE9でもこのエラーが発生しました





debugging