私はちょうど好奇心を知っている
私はどのようなアラートが発生したかを見つけるために、どのブラウザにも何か方法がありますか?アラートがどこから発生したかを調べるにはどうすればよいですか?
私はChromeで試しましたが、アラートが表示されてもコールスタックは使用できません。
私はちょうど好奇心を知っている
私はどのようなアラートが発生したかを見つけるために、どのブラウザにも何か方法がありますか?アラートがどこから発生したかを調べるにはどうすればよいですか?
私はChromeで試しましたが、アラートが表示されてもコールスタックは使用できません。
あなたはalert
を上書きすることができ、およびスタックトレースのためのError
を作成します。
var old = alert;
alert = function() {
console.log(new Error().stack);
old.apply(window, arguments);
};
ありがとうございます!私はアラートが窓のメンバーだとは決して考えなかった! –
console.logステートメントをデバッガーステートメントに置き換えることで、alertが呼び出された時点でデバッガーにドロップすることもできます。 –
これは十分にありがとうございます。私は多くの問題を持つ古いウェブサイトを持っています。そのうちの1人はXSSを全面的に利用していました。だから私は1つの値を ' 'それから、文字列が評価され、アラートがポップアップしていたすべての場所を見つける悪夢があった。あなたの答えは非常に有用でした。さあ、私の息を止めて、そのセスプールに戻りましょう。 – Sharky
あなたはそうするように警告をモンキーパッチすることができます
//put this at the very top of your page:
window.alert = function() { throw("alert called") }
どうalert
を包むでしょうか?
window.original_alert = alert;
alert = function (text) {
// check the stack trace here
do_some_debugging_or_whatever();
// call the original function
original_alert(text);
}
これはクロスブラウザである必要があります。
関連する可能性があります。http://stackoverflow.com/questions/3638249/debug-js-code-which-triggers-an-alert –