javascript - service-worker.js中未添加的.html页面被缓存,可以离线使用?
问题描述
我正在构建一个 PWA。出于测试目的,我添加了一个测试 .html 页面,该页面不在 sw.js 文件夹中并且不被缓存(至少是我所期望的)。我还添加了一些测试外部链接。在手机上部署和安装后。在离线模式下,外部链接不会打开。但是 sw.js 中没有的测试页面仍然会立即加载,表明它也被缓存了。
有人可以解释这种行为吗?
信息:
sw.js 位于目录的根目录,其范围是整个目录。具有测试页面链接的页面也被缓存。
解决方案
如果你有根级别的范围,它将缓存它内部的所有内容......默认的服务工作者助手类倾向于缓存范围内的所有 html、css 和 JS 文件。除非您发布您的软件代码,否则不能说您的情况是否发生了其他不太可能的事情。
服务人员特定于您的域和子域。所以很自然,它不会缓存您已经体验过的外部喜欢。
在这两种情况下,Service Worker 似乎都按照预期的方式工作。
推荐阅读
- excel - 如何使用公式在 Excel 中创建地理热图
- amazon-web-services - CloudFormation 资源 AWS::S3::Bucket 未显示在 S3 控制台中
- sql - 字符串拆分函数的 SQL 分组/计数
- django - Django mixin 和 FormView 模板与 CBV 混淆
- python - 如何在 selenium 中使用 find_elements_by_tag_name 来处理浏览器上所有加载的内容?
- android - Console.log() 出现在 Web 浏览器控制台中,但在调试 ionic 应用程序时不在 Android Studio 控制台中
- sql - 查询处理日期
- python - 下载带有请求的媒体并为文件名插入变量时出现未找到文件错误
- c# - SqlBulkCopy 无法插入服务器上的所有记录
- firebase - 如何在 Cloud Firestore 中执行 SQL 选择?