使用localhost注册服务工作程序失败

ben*_*nek 10 google-chrome express service-worker

当我尝试在Chrome 42上的节点Express V4服务器/服务的基本应用程序中注册服务工作者时出现以下错误:

DOMException:无法注册ServiceWorker:获取脚本时收到错误的HTTP响应代码(404).{message:"无法注册ServiceWorker:获取脚本时收到错误的HTTP res ...代码(404).",名称:"NetworkError",代码:19,INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2 ...}代码:19消息:"失败了

这是注册码:

    if ('serviceWorker' in navigator){
    console.log("SW present !!! ");

    navigator.serviceWorker.register('worker.js', {
      //scope: '/toto/'
    }).then(function(registration){
      console.log('Service worker registered : ', registration.scope);
    })
    .catch(function(err){
      console.log("Service worker registration failed : ", err);
    });

  }
Run Code Online (Sandbox Code Playgroud)

Par*_*osh 10

我想你正在尝试注册不存在的脚本.在这种情况下,这个问题来了.请检查脚本路径和范围路径.也许你在这个脚本所在的目录中没有任何'worker.js'.如果是这种情况,请提供完整路径或在同一目录中提供worker.js.

  • 我不了解 conf js 文件。您应该在注册功能中使用正确的 scriptURL,如 https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register 中所述 (2认同)