所以,我有一个包含 Service Worker 的 HTML 页面,
Service Worker 缓存 index.html 和我的 JS 文件。
问题是当我更改 JS 时,更改不会直接显示在客户端浏览器上。当然,在 chrome 开发工具中,我可以禁用缓存。但在 Chrome 手机中,我该怎么做呢?
我尝试访问网站设置并点击“CLEAR % RESET”按钮。
但它仍然加载旧页面/从缓存加载。
我尝试使用其他浏览器或 chrome 隐身模式,它会加载新页面。
然后,我尝试清除浏览数据(仅缓存)并且它起作用了。
我想这不应该是这样的吧?如果不清除 Chrome 浏览器缓存,我的用户将不知道页面是否已更新。
如果您知道缓存名称,您可以简单地调用caches.delete()从工作人员中您喜欢的任何位置:
caches.delete(/*name*/);
如果你想擦除所有缓存(而不是等待它们,假设这是一个后台任务),你只需要add this:
caches.keys().then(function(names) {
for (let name of names)
caches.delete(name);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)