Firebugは確かにjavascriptのデバッグには素晴らしいツールです。私はconsole.log()を広範囲に使用します。Javascriptのベストプラクティス:Firebug固有のコードを処理する
Firebug固有のコードを本番環境に残すことができるかどうかを知りたかったのです。 ベストプラクティスは何ですか?デバッグコードのコメント?
Firebugは確かにjavascriptのデバッグには素晴らしいツールです。私はconsole.log()を広範囲に使用します。Javascriptのベストプラクティス:Firebug固有のコードを処理する
Firebug固有のコードを本番環境に残すことができるかどうかを知りたかったのです。 ベストプラクティスは何ですか?デバッグコードのコメント?
は、その後、Internet Explorerを使用して、サイトを訪れた人は、JavaScriptのエラーを持っています。これらの人に余分なデバッグツールが設定されていると、不快なダイアログボックスやポップアップが表示されます。 http://www.nabble.com/Re:-detect-firebug-existance-td19610337.html
私はこれによって多くの頭痛を起こしました。
私はconsole.log()をたくさん使っていますが、最近までFirebugを使用していないFFのバージョンではJSコード全体が失敗することが判明しました。
私は通常、ライブに行く前にfindを実行し、コメントアウトします。あなたは()本番コードで呼び出すにconsole.logを残す場合は
D
はこの前にかまれ:
クイック検索
は、Firebugのコンソールが存在するかどうかを検出する方法を議論し、このスレッドを明らかにしました。理想的には、すべてのconsole.logステートメントを製造前に削除する必要がありますが、これはエラーが発生しやすく、開発者は常にFF + Firebugで忘れるかテストするだけです。考えられる解決策は、ダミーコンソールオブジェクトがまだ定義されていない場合は作成することです。注意の
if(typeof window.console == 'undefined'){
window.console = {
log:function(){}
};
}
一言:それはコンソールオブジェクトは、Mac OS Dashboardウィジェットで使用される予約対象であるようにconsole.logする任意の呼び出しがセキュリティ例外をスローすることを10.4上のSafariのためのケースのように使用。これが今の場合は確かではない、今夜チェックする。
個人的に私はコンプレッサーを少し前に修正して、コンソール参照をあらかじめ圧縮しています。数分で正規表現を追加すると、生涯の手間が省けます。
これはコードをコードではなく*テキスト*として扱うので、一般的に危険です。したがって、var a = console; a.log( "test" ); 'はまだエラーをスローします。もちろん、そのような参照は行われませんが、より良い解決策が存在するため(上記参照)、これは賢明ではないようです。 –
jsのデバッグには本当に良いヒントを追加したいと思っていました....キーワード "debugger"を使用し、コード内のブレークポイントを使用して、FirebugはMSIEも検出します私はそのブレークポイントを言う。
これについて多くの人が知っているようですが、私はinvalubleを見つけました...また、コードを実行しているマシンにデバッガがインストールされていないと、何も起こりません。私は彼らをそこに残すことを勧めませんが。
一部のコンプレッサーは、;;;で始まる行を削除します。 (これは、3つの空文である正当なシーケンスです)。この方法では、コンソール参照に厳密に限定されません(つまり、いくつかの計算を行い、最後にconsole.log()することができます)すべてを取り除きます)。これにはJavaScript::Minifierを使用します。
私は放火犯が存在することを確認し、ログのための私自身のラッパー作り、OOP JavaScriptでこれを使用:
myclass.prototype.log = function()
{
if(typeof window.console != 'undefined')
{
console.log.apply(null, arguments);
}
}
するだけで呼び出す:
this.log(arg1, arg2, ...)
IEのDevツールがサポートされていないということだけでリマインダーconsole.logにapply()を実行します。
devツールがアクティブな場合、console.log.apply()を呼び出すとIE8で例外が発生します。
あなたはJavaScriptのデバッグを試すことができ、それはサファリの最新10.5バージョンは、実際に自分のWeb開発ツールではconsole.log()APIを使用するので、この月にconsole.log http://benalman.com/projects/javascript-debug-console-log/
ためだ単純なラッパーであります最近のバージョンをサポートしている場合は問題ありません。 – ajm
これはあまりにも長い間壊れていないと考えている –