私が書いたわけではない、非常に大きくて紛らわしい JavaScript ファイルを扱っています。ときどきアラートが表示されますが、どこから来たのかわかりません。
アラートに含まれるテキストをすべてのファイルで検索できますが、そのテキストが動的である場合は機能しません。
アラートをインターセプトするためにブレークポイントを設定する方法はありますか?
私が書いたわけではない、非常に大きくて紛らわしい JavaScript ファイルを扱っています。ときどきアラートが表示されますが、どこから来たのかわかりません。
アラートに含まれるテキストをすべてのファイルで検索できますが、そのテキストが動的である場合は機能しません。
アラートをインターセプトするためにブレークポイントを設定する方法はありますか?
HTML の一番上に:
window.alert = function() {
debugger;
}
debugger
利用可能なデバッグ機能を呼び出すステートメントです。alert
開発者ツールが開いていると、が呼び出されるたびに自動的にブレークポイントにヒットします。その後、コール スタックを調べて、カスタムalert
関数が呼び出されたものを正確に確認できます。
それはあなたにとって役立つかもしれないし、そうでないかもしれませんが、あなたはそれalert
であなたがやりたいことをするために関数を上書きすることができます。たとえば、アラートボックスの代わりに、メッセージをコンソールに記録させることができます。
window.alert = function(msg) {
console.log(msg);
}
alert('test');
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);
}
Chrome プッシュF12
キーを開き、 に移動しSources
ます。次に、スクリプト ファイルCtrl+F
を選択し、アラートを検索します。任意の行にブレークポイントを配置できます