当前位置: 首页 > 知识库问答 >
问题:

渐进式web app脱机刷新不工作

尉迟彬
2023-03-14

我最近用Google节点模块“sw-precache”生成的服务工作者制作了我的第一个渐进式web应用程序(我在演示中使用了Gulp任务)。一切工作良好,我能够导航通过网页应用当我离线使用Chrome在移动或使用Chrome创建的图标使用“添加到主屏幕”选项(我的渐进式网页应用)。

我只有一个奇怪的问题:如果我离线了,我用Chrome刷新页面,它仍然可以工作,但如果我用pwa做同样的事情,它会显示恐龙和“你离线了”消息(通过向上滚动刷新)。但如果我在不刷新页面的情况下浏览应用程序,那就不是恐龙了。

共有1个答案

淳于泓
2023-03-14

从表面上看,你只使用了sw-precache。服务工作者似乎没有一个事件处理程序来侦听在页面未缓存时要执行的操作。您可以使用sw-toolbox来处理未来访问的缓存,并处理脱机页面。这是密码

self.toolbox.router.get('/(.*)', function (req, vals, opts) {
    return self.toolbox.networkFirst(req, vals, opts)
        .catch(function (error) {
            if (req.method === 'GET' && req.headers.get('accept').includes('text/html')) {
                return self.toolbox.cacheOnly(new Request(OFFLINE_URL), vals, opts);
            }
            throw error;
        });
    });
 类似资料:
  • 我们正在进行灾难恢复练习,一些Hibernate Spring应用程序没有出现以下错误 hbm映射XML文件已被删除 在SO和Hibernate论坛上搜索修复程序看起来需要在doctype to SYSTEM中创建DTD,以便它从本地系统而不是sourceforge上托管的公共DTD读取。网 但是Hibernate正在查找appserver根文件夹上的文件 如何指定系统DTD引用,以便Hibern

  • 问题内容: 我正在AngularJS的帮助下开发一个单页应用程序,而我是新手,我之前曾问过同样的问题,但没有任何答案,所以我改写我的问题,然后再问一次 问题:我需要做的是使我的Web应用程序能够离线运行,为此,应以某种方式将呈现为视图的html文件(例如home.html)包括在index.html中,因此,单击一些链接应该不需要访问html文件,而无需访问同一页面的一部分,例如将显示一个潜水,我

  • 我开始尝试渐进式web应用程序,但当它涉及离线缓存时,我要么误解了什么,要么做错了什么。 我有2个超文本标记语言页面(和)是相同的,代码如下: 下面是获取和安装事件方法,以及缓存内容,据我所知,如果没有网络,应该返回缓存内容,如果操作错误,请更正。 我的问题是,当我离线时,它会打开页面,但是当我试图在两个页面之间导航时,它会给我一个错误,说我离线了,这是自然的,但离线背后的想法缓存不应该以这样一种

  • 我使用的是Spring Boot v2。5.2微服务并尝试动态刷新endpoint。我正在使用Spring Cloud API Gateway并实现了安全性,现在当我http://localhost:8012/actuator/busrefresh,我看到只有Spring Cloud API gateway反映了这些变化,但其他微服务没有。 我们如何修复它? Spring Cloud API网关

  • 更新内容 在应用里有两种更新内容的方法。较好的方法是用sync自动更新内容。Syncing 能保持内容自动更新,因为它不需要用户操作。 另外一种,手动刷新需要用户通过动作或者手势启动内容更新。手动刷新提供同步的同时保持当前的滚动位置。例如在Gmail里检查新邮件。 滑动刷新 滑动刷新是一个滑动手势。可用在普通列表,方格列表的开始处和卡片集合的最近内容出现的位置(Index 0)。 位置: 典型的,

  • 本文向大家介绍Vue 实现前进刷新后退不刷新的效果,包括了Vue 实现前进刷新后退不刷新的效果的使用技巧和注意事项,需要的朋友参考一下 需求一: 在一个列表页中,第一次进入的时候,请求获取数据。 点击某个列表项,跳到详情页,再从详情页后退回到列表页时,不刷新。 也就是说从其他页面进到列表页,需要刷新获取数据,从详情页返回到列表页时不要刷新。 解决方案在 app.vue 设置: 假设列表页为 lis