ВАЖНО: Из-за требований все мои HTML-файлы должны быть загружены с использованием файлового протокола file://
(откройте HTML-файл в браузере, нажав на него / перетащив его в браузер).
Из-за использования веб-работников из файлового протокола и неспособности что-либо изменить в браузере, в настоящее время я использую коды в Firefox.
Моя файловая структура выглядит следующим образом:
main
|-index.html
|-pages
| |-module1
| |-page1.html
|-js
| |-index.js
|-deps
|-worker.js
index.js
загружено в page1.html
:
<script src="../../js/index.js"></script>
index.js
пытается загрузить файл веб-работника worker.js
:
const workerURL = '../../deps/worker.js';
let worker = new Worker(workerURL);
worker.onmessage = (evnt) => {
console.log('success!');
}
worker.onerror = (evnt) => {
console.log('error: ',evnt.message);
}
worker.postMessage('');
Результат выполнения вышеупомянутого равен error!
.Даже если бы я запускал его с workerURL = deps/worker.js
, такая же ошибка происходит.Больше всего расстраивает то, что в worker.onerror
console.log показывает error: undefined
.
Я застрял здесь в течение длительного времени и не знаю, как решить эту проблему.Я даже не знаю, как отлаживать то, что пошло не так.