2013-01-04 3 views
13

私は書かなかった非常に大きくて混乱しているJavaScriptファイルを扱います。ときどきアラートが表示されますが、どこから来ているのか分かりません。アラートボックスの原点を取得する方法はありますか?

アラートに含まれるテキストをすべてのファイルで検索できますが、そのテキストが動的であれば機能しません。

アラートを傍受するためにブレークポイントを設定する方法はありますか?

+1

ファイルを検索するには、特に警戒のためにあまりにも難しいことではありません。それは本当にたくさん使用されていません(主にjavascriptの警告が迷惑なので)。あなたがLinuxであれば、grepを使います。 Macをお使いの場合は、grepを使用してください。 Windowsの場合は、Linuxをインストールします。 –

答えて

30

window.alert = function() { 
    debugger; 
} 

debugger利用可能なデバッグ機能を起動する文です。開発ツールを開くと、alertが呼び出されるたびに自動的にブレークポイントがヒットします。呼び出しスタックを検査して、カスタムalertが何を呼び出したかを正確に確認することができます。

+1

それはいいです、親指 – kidwon

+0

おい、これはいいです、これは分かっていません... –

3

これは役に立つかもしれませんが、alert関数を上書きすれば、何でも構いません。たとえば、アラートボックスの代わりに、コンソールにメッセージを記録させることができます。あなたのHTMLの最上部に

window.alert = function(msg) { 
    console.log(msg); 
} 
alert('test'); 
3

ChromeをプッシュF12キーを押してSourcesに移動します。 スクリプトファイルCtrl+Fを選択し、アラートを検索します。 あなたが望む行にブレークポイントを置くことができます

3

私はBrian Glazに同意しますが、何か警告を出してコンソールにエラーを出力しようとするとエラーが発生する可能性があります。このようにして、コンソールは警告機能が呼び出された正しい行番号を指し示します。ドキュメントの先頭にこのスニペットを入れて、それを試してみる

var originalAlert = window.alert; 
window.alert = function(){ 
    try{ 
     throw new Error('alert was called'); 
    } catch(e){ 
     console.warn(e); 
    } 
    return originalAlert.apply(window, arguments); 
} 
関連する問題