перехват глобальных ошибок:
function globalError(e) {
e.preventDefault();
window.ga('send', 'event', 'logs', 'error', JSON.stringify({
reason: e.reason,
message: e.message,
filename: e.filename,
pos: `${e.lineno}:${e.colno}`,
href: location.href
}), {
nonInteraction: true
});
}
window.addEventListener('unhandledrejection', globalError);
window.addEventListener('error', globalError);
Гугл аналитику можно заменить на любой другой сбор логов
перехват ошибок конкретного элемента (скрипт, картинка, медиа):
element.onerror = function(e) {
// обрабатываем ошибку
};