Подтвердить что ты не робот

Как узнать, откуда возникает предупреждение?

Мне просто интересно узнать
Есть ли какие-либо способы в любом браузере узнать, откуда я получаю предупреждение?

Я попробовал его в chrome, но при появлении предупреждения не существует стека вызовов.

Любая идея?

4b9b3361

Ответ 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);
}

Это должно быть кросс-браузер.