Отслеживание ошибки после стороннего скрипта

Есть сторонний скрипт(виджет), подключаемый через тег script, я хотел бы после загрузки, если в скрипте возникает ошибка, то показывать в верстке компонент с текстом, о том, что произошла ошибка. Как примерно это реализовать?


Ответы (1 шт):

Автор решения: Егор Банин

Это сильно зависит от того, какую ошибку вы ожидаете. Можно попробовать через событие onError на windows:

window.addEventListener('error', e => console.log(e.message));

let script = document.createElement('script');
document.body.appendChild(script);
script.src = 'data:text/javascript;base64,' + btoa('aler("Hello world")');

Это сработает для каких-то случаев.

Но если ошибка будет поинтереснее (например виджет не сможет что-нибудь загрузить и просто остановится), то вы сможете понять, что произошла ошибка только сравнив полученный результат с ожидаемым. Например вы можете проверить, что виджет создал какие-то ключевые элементы на странице после загрузки скрипта. Дайте ему немного времени и поищите элементы на странице.

В любом случае, гарантировать, что сторонний код работает правильно вы не можете. Виджет может выглядеть отлично, но при нажатии на кнопку падать.

→ Ссылка