Вот решение буквального вопроса о том, как напечатать сообщение в консоли ошибок браузера, а не в консоли отладчика. (Могут быть веские причины для обхода отладчика.)
Как я заметил в комментариях о предложении выдать ошибку, чтобы получить сообщение в консоли ошибок, одна проблема состоит в том, что это прервет поток выполнения. Если вы не хотите прерывать поток, вы можете выбросить ошибку в отдельный поток, созданный с помощью setTimeout. Отсюда мое решение (которое, как оказалось, было разработано Иво Данихелкой):
var startTime = (new Date()).getTime();
function logError(msg)
{
var milliseconds = (new Date()).getTime() - startTime;
window.setTimeout(function () {
throw( new Error(milliseconds + ': ' + msg, "") );
});
}
logError('testing');
Я включаю время в миллисекундах с момента начала, потому что время ожидания может искажать порядок, в котором вы можете ожидать увидеть сообщения.
Второй аргумент метода Error относится к имени файла, которое здесь является пустой строкой для предотвращения вывода бесполезного имени файла и номера строки. Можно получить функцию вызывающего абонента, но не простым браузерным способом.
Было бы неплохо, если бы мы могли отобразить сообщение со значком предупреждения или сообщения вместо значка ошибки, но я не могу найти способ сделать это.
Другая проблема с использованием броска состоит в том, что он может быть пойман и выброшен с помощью включающего пробного броска, и помещение броска в отдельный поток также позволяет избежать этого препятствия. Тем не менее, есть еще один способ, которым ошибка может быть перехвачена, а именно, если обработчик window.onerror заменен на другой, который делает что-то другое. Не могу вам помочь.