Мне просто интересно узнать
Есть ли какие-либо способы в любом браузере узнать, откуда я получаю предупреждение?
Я попробовал его в chrome, но при появлении предупреждения не существует стека вызовов.
Любая идея?
Ответ 1
Вы можете перезаписать alert и создать Error для трассировки стека:
var old = alert;
alert = function() {
console.log(new Error().stack);
old.apply(window, arguments);
};
Ответ 2
Вы можете обезопасить оповещение, чтобы сделать это:
//put this at the very top of your page:
window.alert = function() { throw("alert called") }
Ответ 3
Как обернуть 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);
}