【问题标题】:PWA offline service worker settingsPWA 离线服务工作线程设置
【发布时间】:2019-07-18 09:56:42
【问题描述】:

我正在使用 Python Django 和 django-pwa 包构建一个简单的渐进式 Web 应用程序。我已经设置了所有内容,但离线功能不起作用。此时,服务工作者 (SW) 已安装,并且开发工具将应用程序识别为 PWA。但是当我在devtools->Application 中检查“离线”并重新加载网页时,会出现“无互联网连接”错误。

这是我的软件设置:

var staticCacheName = 'djangopwa-v1';

var filesToCache = [
    '/',
    '/x_offline/',
    '/static/x_django_pwa/images/my_app_icon.jpg',
    '/media/images/bfly1.2e16d0ba.fill-320x240.jpg',
];

// Cache on install
self.addEventListener("install", event => {
    this.skipWaiting();
    event.waitUntil(
        caches.open(staticCacheName)
            .then(cache => {
                return cache.addAll(filesToCache);
            })
    )
});

// Clear cache on activate
self.addEventListener('activate', event => {
    event.waitUntil(
        caches.keys().then(cacheNames => {
            return Promise.all(
                cacheNames
                    .filter(cacheName => (cacheName.startsWith("djangopwa-v1")))
                    .filter(cacheName => (cacheName !== staticCacheName))
                    .map(cacheName => caches.delete(cacheName))
            );
        })
    );
});

// Serve from Cache
self.addEventListener("fetch", event => {
    event.respondWith(
        caches.match(event.request)
            .then(response => {
                return response || fetch(event.request);
            })
            .catch(() => {
                return caches.match('x_offline');
            })
    )
});

列出的设置与django-pwa repo 中的默认设置几乎相同 当我第一次加载页面时,我看到对 SW 中列出的 URL 也发出了请求,并且所有这些 URL 的状态均为 200。在缓存存储中,我看到缓存在 SW 中设置了路径。所以我不明白我做错了什么。

不确定此附加信息是否有用,但是:当我将 SW 设置为脱机并重新加载网页时,缓存存储空间为空。

【问题讨论】:

    标签: django progressive-web-apps


    【解决方案1】:

    问题出在django-pwa repo 提供的设置中。 他们不小心在scope 变量的末尾添加了符号,,因此如果您复制设置,您复制的scope 设置不正确(PWA_APP_SCOPE = '/',) 并且它会中断离线模式。我将与 repo 管理员联系,以便为下一个用户解决问题。

    【讨论】:

    • 我想这不是问题,因为我在更新版本时遇到了同样的问题。同样在答案中没有说明如何解决它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 2019-05-30
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多