我有一个 apache 服务器正在运行。这样的后端由 django 支持,但放置在 apache 服务器上。我有一个服务人员,否则它工作得很好。这是进行注册的代码
navigator.serviceWorker.register('/static/js/components/sw.js').then(function() {
return navigator.serviceWorker.ready;
}).then(function(){console.log("success")})
但是上面的代码不知何故从未给出任何响应。承诺仍处于待处理状态。即使在最后添加一个 catch 也不会产生任何错误。它转到 navigator.serviceworker.ready 但不解析为 then 函数。我不确定是什么问题。
我试过以下东西:
我虽然问题可能是服务工作者需要在同一个来源,所以我添加了名为 Service-Worker-Allowed:/static 的标题,但这并没有完成这项工作。
当我通过直接转到路径访问文件时,在添加Service-Worker-Allowed:/static 后保存了 html(例如:mywebsite/static/serviceworker.html):/static 它工作正常。但是当我使用 django 映射的 url(即我通过 urls.py 映射的 url,例如: mywebsite/admin/worker )访问同一个 html 文件时,它似乎不起作用。
试图给出相对路径,但相对路径在我的情况下不起作用。
- 我把它放在另一个 apache 服务器上,它似乎工作正常。
我没有任何想法。这是一些django问题吗?