web worker 在开发环境不能调用本地workjs吗?

发布时间:2024年01月15日

安全错误:位于 file:///D:/Vue_vue/TsDemo/index.html 的内容不可以加载来自 file:///D:/Vue_vue/TsDemo/worker.js 的数据。

Web Worker在开发环境中不能直接调用本地的Worker脚本(.js文件),因为Worker线程无法读取本地文件(file://)。Worker线程只能加载来自网络的脚本。这是由于浏览器的安全策略所限制的。

如果你想在开发环境中使用Web Worker,你可以将Worker脚本部署到一个服务器上,并通过网络地址来加载它。这样,Web Worker就可以正常工作了。

以下是一个示例,演示了如何在开发环境中使用Web Worker来调用远程的Worker脚本:

// 在主线程中创建Web Worker
const worker = new Worker('http://example.com/worker.js');

// 向Web Worker发送消息
worker.postMessage('Hello from main thread!');

// 监听Web Worker的消息
worker.onmessage = function(event) {
  console.log('Message from worker:', event.data);
};

// 在Worker脚本中处理消息
self.onmessage = function(event) {
  console.log('Message from main thread:', event.data);
  // 执行一些耗时的操作...
  // 发送消息回主线程
  self.postMessage('Hello from worker!');
};

Worker脚本(worker.js)必须通过网络地址(例如http://example.com/worker.js)来加载,而不是本地文件路径。

文章来源:https://blog.csdn.net/m0_73358221/article/details/135579511
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。