caching - 我如何绕过服务工作者缓存?
问题描述
我有一个渐进式网络应用程序。在主页上,我有一个日志模式。如果用户登录应用程序重新加载并且现在服务器呈现用户配置文件而不是登录按钮。现在遇到的问题是,当我实现 pwa 时,它会缓存主页及其中的所有内容,因此在用户登录后不会呈现来自服务器的新页面。我的应用程序后端位于Nodejs(REST API)中并且正在使用javascript 来使用 api,但我使用ejs来呈现页面。我该如何解决这个问题?现在我决定不缓存我有登录模式的主页。完成此操作后,我意识到该应用程序现在不符合 PWA 安装要求。
解决方案
听起来你不应该配置你的服务工作者来缓存你的普通 HTML。取而代之的是,您可以使用一个服务工作者,它在在线时总是会访问网络,并在导航请求失败时显示自定义的“抱歉,您离线”HTML。
下面是一个遵循这种模式的活生生的例子:
https://googlechrome.github.io/samples/service-worker/custom-offline-page/
这样做足以满足“添加到主屏幕”PWA 安装要求。
推荐阅读
- r - 当我在应用程序运行时尝试关闭闪亮的应用程序窗口时出错
- javascript - Googlesheets Apps 脚本追加行和超链接
- linear-programming - 如果 Cplex 目标函数中的条件
- java - 修改 Jar 中的静态资源
- java - 无效值 java.sql.SQLException:应用程序请求者无法建立连接
- autodesk-forge - Autodesk Forge 设计自动化 API 和 Vault
- django - inlineformset - 递增 TOTAL_FORMS 给出 MultiValueDictKeyError
- javascript - 在for循环javascript中调用函数
- iis - 增加“连接超时(秒)”(IIS)有什么风险?
- c# - 如何按类型正确地将对象从 C# 传递到 VBScript?