Что такое Script error.
Script error. — это «обезличенная» ошибка JavaScript, которую браузер отдает при падении кросс-доменного скрипта (или скрипта в кросс-доменном окружении — например, внутри <iframe>), когда нельзя раскрывать детали из-за политики безопасности.
Вместо реального сообщения вы видите строку Script error. и пустой stack trace.
Хоук ловит исключение, но т.к. источник — другой домен — и нет корректных настроек CORS/crossorigin, браузер блокирует доступ к исходной ошибке.

Рассмотрим наиболее частые причины:
-
Скрипт грузится с другого домена или CDN без CORS. Нет заголовка
Access-Control-Allow-Origin
на сервере скрипта и/или нет атрибутаcrossorigin
в<script>
. - Ошибка внутри кросс-доменного <iframe>.
- Ошибка внутри расширения браузера
- CSP/AdBlock ломают загрузку или выполнение ресурса кросс-доменно.
-
Настроить CORS для внешних ресурсов с помощью атрибута
crossorigin="anonymous"
у тега <script> или заголовковAccess-Control-Allow-Origin
иAccess-Control-Allow-Credentials
на CDN сервере. - Включите ресурсы, загружаемые с внешних источников, в сборку.
- Отфильтруйте (игнорируйте) ошибку в Хоуке
Остановимся подробнее на последнем пункте. Во многих случая исправить ошибку Scipt error. не представляется возможным. Поэтому распространенная практика — отключить отправку этой ошибки в Хоук
Для того, чтобы не отправлять нежелательные ошибки в Хоук, во всех SDK существует хук beforeSend
. Он выполняется перед отправкой и с его помощью можно:
- Убрать чувствительные данные
- Полностью отменить отправку ошибки
Вторая возможность нам и нужна. Для этого нужно вернуть false
в beforeSend
:
Готово, вы больше не буду получать отчеты об этом событии.