Как обнаружить неверный URL, передаваемый работнику - PullRequest
0 голосов
/ 15 января 2019

Следующие вопросы очень похожи; однако, ни у одного из них нет решения, которое работает для меня, у меня есть немного больше информации, чтобы предоставить, и у меня недостаточно представителя, чтобы прокомментировать любой из них:

Как обнаружить ошибки неверного 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) я ничего не видел, в частности, об ошибках недействительных ссылок.

У кого-нибудь есть дополнительная информация, которая может быть полезна? Спасибо.

...