问题描述
一开始,当我更新文件和 Service Worker 并刷新时,我会看到所做的更改。然而,在很短的时间后(如 10 分钟或 15 分钟),我的更改不再可见,甚至我的缓存也不再更新。我不知道为什么。
我的服务人员有问题吗?
我的服务人员
const version = "1.0.0" // I update this version when I modify a file (js,html,etc) and refresh the page
const cache_name = "my-cache"
self.addEventListener('install',function(event) {
event.waitUntil(
caches.open(cache_name).then(function(cache) {
console.debug("sw add cache");
return cache.addAll(
[
"/","auth.html","home.html","index.html",/// 70 entries ....
]
);
}).then(function() {
return self.skipwaiting();
})
);
});
self.addEventListener('activate',function(event) {
console.debug("sw activated");
event.waitUntil(self.clients.claim());
});
self.addEventListener('fetch',function(event) {
console.debug("sw fectched");
event.respondWith(
caches.open(cache_name).then(function(cache) {
return cache.match(event.request).then(function(response) {
var fetchPromise = fetch(event.request).then(function(networkResponse) {
cache.put(event.request,networkResponse.clone());
return networkResponse;
})
return response || fetchPromise;
})
})
);
});
我如何检查和更新我的应用(在 index.js 中):
window['isUpdateAvailable']
.then(isAvailable => {
if (isAvailable) {
location.reload();
}
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)