网络工作者显示错误,我不知道为什么



重要提示:由于要求,我的所有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正在尝试加载 Web worker 文件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的控制台下.log显示error: undefined

我被困在这里很长时间了,不知道如何解决这个问题。我什至不知道如何调试出了什么问题。

我遇到了同样的问题。我在 Firefox 而不是 Chrome 中打开了我的应用程序,我在控制台中看到一个错误:"由于 MIME 类型('text/html'(不匹配,资源被阻止"关于我的 Web worker 脚本传递到 Worker 构造函数。你认为你可能有同样的问题吗?具体来说,将脚本作为应用程序/javascript 类型提供,或者在严格提供 js 文件的构造函数中提供一个 url,因为浏览器不会加载内容类型不匹配的资源。以下是一些其他信息:https://www.keycdn.com/support/what-is-mime-sniffing

相关内容

最新更新