gpt4 book ai didi

django - 在 Django 中注册 Service Worker

转载 作者:行者123 更新时间:2023-12-02 05:58:47 25 4
gpt4 key购买 nike

我正在尝试在 django 中注册服务 worker ,但收到此错误

DOMException: Failed to register a ServiceWorker: The script resource is behind a redirect, which is disallowed.

我的项目结构是

src/
templates/sw.js
static/js/main.js #file where I register service worker

main.js

if ('serviceWorker' in navigator) {
navigator.serviceWorker
.register('sw.js', {scope: '/'})
.then(function(reg) {
console.log('Achieng Service worker Registration worked!');
})
.catch(function(error) {
console.log(error);
});

}

根据这个django-service worker ,我已将我的网址定义为

path('sw.js/', (TemplateView.as_view(template_name="sw.js", content_type='application/javascript', )), name='sw.js'),

并将我的 sw.js 放在模板文件夹中。

我可能会错过什么?我希望 Service Worker 有一个默认范围“/”

最佳答案

您的 Service Worker 在 /sw.js/ 提供服务。 Django 自动将 /sw.js 重定向到 /sw.js/。要使其正常工作,您只需删除 path() 中的尾部斜杠即可。

Django 中的约定是在每个 url 中使用尾部斜杠,但像这样的情况是异常(exception)。

关于django - 在 Django 中注册 Service Worker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51437941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com