Следующие вопросы очень похожи; однако, ни у одного из них нет решения, которое работает для меня, у меня есть немного больше информации, чтобы предоставить, и у меня недостаточно представителя, чтобы прокомментировать любой из них:
Как обнаружить ошибки неверного URL в Worker API
Конструктор веб-работника не завершается ошибкой даже при неверном пути к файлу
Если конструктору Worker присвоен недопустимый URL-адрес, есть ли способ, которым я могу окончательно определить, что это было причиной возникшей ошибки:
var w = new Worker("badurl");
w.onerror = function (event) {
console.error(event);
};
Проблема с вышеприведенным кодом заключается в том, что выбрасываемый объект event
представляет собой простой Event
объект с type
, установленным на error
, а не ErrorEvent
объект, который генерируется при выполнении исключение встречается Насколько я могу судить, базовый объект Event
не содержит каких-либо полезных деталей.
Эта проблема изначально возникла из-за проблемы с библиотекой hsl.js . Из-за ошибки в v71 в Chrome URL.createObjectUrl()
создал недопустимый URL-адрес, поэтому в этом случае попытка проверить URL-адрес перед созданием работника, вероятно, не будет решением.
Я хотел бы предложить улучшение для библиотеки (поскольку ее логика обработки ошибок предполагает, что свойства ErrorEvent
будут всегда присутствовать).
Изначально я собирался сообщить об этой ошибке в Chrome, но после дальнейшего тестирования кажется, что Chrome, Firefox и Edge обрабатывают следующий jsfiddle так, как я описал выше: https://jsfiddle.net/q08b62ry/
В спецификации (www.w3.org/TR/workers) я ничего не видел, в частности, об ошибках недействительных ссылок.
У кого-нибудь есть дополнительная информация, которая может быть полезна? Спасибо.