我正在建立一个PWA。出于测试目的,我添加了一个测试.html页面,该页面不在sw.js文件夹中,并且不被缓存(至少我预期的那样)。我还添加了一些测试外部链接。在手机上部署和安装后。在离线模式下,外部链接无法打开。但是在sw.js中没有的测试页面仍然立即加载,表明它也被缓存了。
有人可以解释这种行为吗?
对于信息:
sw.js出现在目录的根目录下,其范围是整个目录。此外,还会缓存包含测试页链接的页面。
答案 0 :(得分:0)
如果您在根级别拥有范围,它将缓存内部的所有内容...默认服务工作者帮助程序类倾向于缓存范围内的所有html,css和JS文件。除非你发布你的SW代码,否则不能说你的情况是否发生了其他事情,这是不太可能的。
服务工作者特定于您的域和子域。很自然地,它不会缓存您经历过的外部喜欢。
在这两个场景中,您的SW似乎按照预期的方式工作。