次のJavascriptコード(私の制御不能)がページの早い段階で実行されているシステムを扱っています
if (!("console" in window) || !("firebug" in console))
{
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i)
window.console[names[i]] = function() {}
}
console
このコードは、javascriptコンソールのない環境でjavascriptエラーを防ぐためのモックオブジェクトを作成するために使用されているようです。これは、GoogleChromeのコンソールの実行を妨げることを除けば素晴らしいことです。条件付きで明示的にチェックしますがfirebug
、それだけです
if (!("console" in window) || !("firebug" in console))
では、Chromeのデバッガーにコンソールオブジェクトを再初期化するように指示する方法はありますか?つまり、平易な英語でChromeに伝えます
ねえ、あなたがページをロードして、私が使用するコンソールオブジェクトを定義するとき、あなたは知っていますか?これをもう一度実行して、ユーザースペースの誰かが行ったことをオーバーライドできるようにします。
私は私が次のようなことをすることができることに気づきます
console.firebug = "faketrue";
条件付きでキャッチされていますが、システムに制限があり、上記のコンソールの再定義がヒットする前にJavaScriptを追加する方法がありません。言い換えれば、いいえ、ヘッドの開始直後にJavaScriptコードを少し追加することはできません。